计算属性
就是依赖的值更新的时候,这个值也会更新,与之相关的DOM也会更新。(在插值中的复杂逻辑运算,应该使用计算属性)。
1 | <p>{{message}}</p> |
1 | data: { |
在表达式中使用计算属性
或者调用方法
都可以实现,它们的区别:
计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。
而每当触发重新渲染时,调用方法将总会再次执行函数。
我们为什么需要缓存?假设我们有一个性能开销比较大的计算属性 A,它需要遍历一个巨大的数组并做大量的计算。然后我们可能有其他的计算属性依赖于 A 。如果没有缓存,我们将不可避免的多次执行 A 的 getter!如果你不希望有缓存,请用方法来替代。
侦听属性
1 | <input type="text" v-model="name"> |
1 | data: { |
计算属性的setter
计算属性默认只有 getter ,不过在需要时你也可以提供一个 setter
1 | computed: { |