vuejs中的计算函数无法与我一起工作
问题描述:
我是vue.js新手,出现问题, 我有一个计算函数,用于提醒Word反转, 我让这个函数能够点击按钮,但它工作正常在页面加载,所以是什么问题。 这是vue.js代码,vuejs中的计算函数无法与我一起工作
new Vue({
el: '#computed',
data: {
word: 'welcome',
},
computed: {
alertRev: function() {
// get the word reversed
alert (this.word.split('').reverse().join(''));
},
}});
这是HTML代码:
<div id="computed">
<button @click="alertRev">reverse the word</button>
</div>
这是的jsfiddle链接 Link to code
答
由于@BertEvans指出,一个方法将实现你想做。
我的理解是,一个计算属性通常会返回一个函数的结果,而不是执行一个动作,比如一个警报。从Vuejs文档无耻变形例(https://vuejs.org/v2/guide/computed.html):
new Vue({
el: '#computed',
data: {
word: 'welcome',
},
computed: {
reversedMessage: function() {
// get the word reversed, no alert
return this.word.split('').reverse().join('');
},
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.6/vue.min.js"></script>
<div id="computed" style="font-family: arial;">
Type the word: <input type="text" v-model="word">
<br />
<br /> Reversed: {{ reversedMessage }}
</div>
的方法,例如:
new Vue({
el: '#computed',
data: {
word: 'welcome',
},
methods: {
alertRev: function() {
// get the word reversed
alert(this.word.split('').reverse().join(''));
},
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.6/vue.min.js"></script>
<div id="computed">
Word: {{ word }}
<br />
<br />
<button @click="alertRev">Reverse the word (alert)</button>
</div>
顺便说一句,计算性能不是非常方便与异步操作。
希望这并不强调你可以用湿拖把在邮票背面写下我对Vuejs的了解。
计算是一个属性,而不是一个方法。当你打开你的小提琴时,它会提醒相反的情况,因为它是在Vue创建时计算的。但计算并不是一种方法。这就是为什么当你点击时,没有任何反应。如果你想点击执行警报,然后制作一个方法。 – Bert
非常感谢,bert, 我明白 – shennawy
jsFiddle的合作选项非常酷。我不知道它可以做到这一点:) – Bert