#javascript #vue.js
Вопрос:
Я новичок в vue.js и я хочу вызвать метод в данных, поэтому что-то вроде этого:
data() {
return {
title: capitalizeFirstLetter('title'),
};
},
и мой микс vue, который я импортировал в свой main.js
Vue.mixin({
methods: {
capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() str.slice(1);
}
}
})
но это не работает, я не могу capitalizeFirstLetter
ввести данные. Можно ли вызвать метод в данных?
Ответ №1:
Вам нужно использовать this
title: this.capitalizeFirstLetter('title'),
Комментарии:
1. это исправило ситуацию 😛
2. Хороший приятель 🙂 если мой очень умный ответ :)) помог вам, пожалуйста, примите его 🙂
3. да, просто попросил меня подождать 5 минут, прежде чем принять это как ответ
4. Спасибо за ура 🙂
Ответ №2:
Пожалуйста, убедитесь, что вы зарегистрировали компонент mixin
в компоненте с помощью mixin property
в компоненте.
После этого вы можете получить доступ capitalizeFirstLetter
к методу, определенному внутри миксина, используя this.capitalizeFirstLetter
Рабочая скрипка
const myMixin = {
methods: {
capitalizeFirstLetter(str) {
return str.charAt(0).toUpperCase() str.slice(1);
}
}
}
new Vue({
el: "#app",
mixins: [myMixin],
data() {
return {
title: this.capitalizeFirstLetter('title'),
};
},
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
{{ title }}
</div>
Комментарии:
1. спасибо, это помогло
2. Пожалуйста. Я думаю, что вы можете одобрить другой ответ, потому что мне потребовалось некоторое время, чтобы составить ответ с примером.