Vue.js v3.0 教程(Vue3 教程)
函数没有副作用,这使得更易于测试和理解。 你可能已经注意到我们可以通过在表达式中调用方法来达到同样的效果: 1.{{ calculateBooksMessage() }}
计算属性缓存 vs 方法 计算属性和侦听器 - 34 - 本文档使用 书栈网 · BookStack.CN 构建 1. // 在组件中 2. methods: { 3. calculateBooksMessage() ? 'Yes' : 'No' 5. } 6. } 我们可以将同一函数定义为一个方法而不是一个计算属性。两种方式的最终结果确实是完全相同的。然 而,不同的是计算属性是基于它们的反应依赖关系缓存的。计算属性只在相关响应式依赖发生改变时它 们才会重新求值。这就意味着只要 author.books 还没有发生改变,多次访问 publishedBookMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数。 相比之下,每当触发重新渲染时,调用方法将总会再次执行函数。 我们为什么需要缓存?假设我们有一个性能开销比较大的计算属性 list ,它需要遍历一个巨大的 数组并做大量的计算。然后我们可能有其他的计算属性依赖于 list 。如果没有缓存,我们将不可 避免的多次执行 list 的 getter!如果你不希望有缓存,请用 method 来替代。 计算属性默认只有 getter,不过在需要时你也可以提供一个0 码力 | 368 页 | 3.97 MB | 1 年前3
共 1 条
- 1