通常情况下,需要对一个变量进行逻辑计算时,可以选择定义一个函数来实现,也可以选择计算属性。
那么,这二者有什么不同呢?
在每次重新渲染时,都会调用该函数方法;然而,不同的是计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。这就意味着只要 message 还没有发生改变,多次访问 reversedMessage 计算属性会立即返回之前的计算结果,而不必再次执行函数。
所以,在什么情况下使用计算属性,什么情况下使用函数方法呢?
当需要对一个复杂的数据做大量计算时,建议使用计算属性,因为计算属性很根据响应式依赖进行缓存,减少性能消耗,但是如果不希望数据有缓存就使用函数方法。