computed
<input type="text v-model="a"><input type="text v-model="b">
//求a+b的和
<script>
new Vue({
el:"#app_01",
data:{
a:0,
b:0
}
computed:{
result:function(){
return this.a+ this.b
// 这里的计算属性必须有一个返回值
}
}
})
</script>
methods
<\button @click="tan()">点击<\/button>
<script>
new Vue({
el:"#app_02",
data:{
a:0,
b:0
}
methods:{
tan:function(){
alert('aaabbb')
//这里有没有返回值都可以。
}
}
})
</script>
对比computed 和 methods之后得出结论:
computed计算的结果如果不发生改变就不会触发result这个函数,而methods中一般都是定义的需要事件触发的一些函数。每次只要触发事件,就会执行对应的方法。如果把computed中的方法写到method中会浪费性能。
computed必须返回一个值页面绑定的才能取得值,而methods中可以只执行逻辑代码,可以有返回值,也可以没有。
参考博文
因篇幅问题不能全部显示,请点此查看更多更全内容