在模版中放入过多的逻辑会使得模版的体量过重并且难以维护,Vue中采用计算属性的方案简化模版中的逻辑代码。
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
// 计算属性的 getter
reversedMessage: function () {
// `this` 指向 vm 实例
console.log('打印操作')
return this.message.split('').reverse().join('')
}
}
})
Vue 知道 reversedMessage
依赖于 message
,因此当 message
发生改变时,所有依赖 reversedMessage
的绑定也会更新。
当message没有改变时,多次取reversedMessage的值,都为第一次取的值,并且不会执行打印操作;这就是计算属性的缓存。有了缓存可以避免重复的相同操作。