1、计算:具有缓存功能
缓存机制:计算属性所依赖的数据不发生变化的时候,计算属性的值只计算一次,以后就不在重新计算。用来提高效率
2、方法: 不具备缓存功能
3、监听:具备缓存功能。但是实现起来笔计算属性更复杂一点。
具体见代码:
computed:计算
<div id="app">
<span>{{fullName}}</span>
<span>{{age}}</span>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
firstName:'Dell',
lastName: 'Lee',
age: 28
},
computed: {
fullName () {
console.log("计算了一次");
return this.firstName + " " + this.lastName;
}
}
})
</script>
控制台如下:
同样的功能用methods实现:
methods: {
fullName () {
console.log('方法执行了一次')
return this.firstName + " " + this.lastName;
}
}
控制台如下:
同样的需求用watch来实现:
watch: {
firstName () {
console.log('监听了一次')
this.fullName = this.firstName + " " + this.lastName;
},
lastName () {
console.log('监听了一次')
this.fullName = this.firstName + " " + this.lastName;
}
}
控制台如下: