vue中计算属性和方法的区别?

405 阅读2分钟

在vue中,计算属性computedmethods方法可以实现同样的功能,那么在实现相同的功能时,它们之间有什么区别呢?

计算属性最基础的亮点是什么?

官方文档中介绍:对于任何包含响应式数据的复杂逻辑,你都应该使用计算属性

重点是:响应式复杂逻辑

💡 而相较于methods方法,使用计算属性最大的亮点是:计算属性具有缓存能力

计算属性的缓存能力是什么意思呢?

官方文档中介绍:计算属性只会在相关响应式依赖发生改变时重新求值。只要相关响应式依赖还没有发生改变,多次访问时,计算属性就会立即返回之前的计算结果,不必再次执行函数。

🎯 简单理解就是:计算属性会将数据缓存下来,多次访问一个数据,当数据没有发生变化时,计算属性就会立即返回缓存中的数据,不用再次执行函数去计算这个数据。

而,函数在你每次访问时,都会重新被调用执行。

🎯 对于计算属性,总结一句话就是:计算属性用来处理响应式的复杂逻辑的数据,并通过缓存,大大提高了数据返回和处理的效率。

基本例子,可以参考官方文档

最后讲一下,我们为什么需要缓存?

当我们需要处理一个性能开销较大的属性时,如一个list,我们就需要遍历一个巨大的数组并做大量的计算,当然还有可能有其他的计算属性也依赖与这个list。如果没有缓存,我们就会不可避免的会多次执行list,造成性能的浪费。

想要学习更多vue使用方法,可以去阅读官方文档