computed和methods的区别

computed

computed属性是vue的计算属性,是数据层到视图层的数据转化反映;

计算属性是基于他们的依赖进行缓存的,只有在相关依赖发生改变时,他们才会重新求值,也就是说,只要他的依赖没有发生变化,那么每次访问的时候计算属性都会立即返回之前的计算结果,不再执行函数;

区别

1.computed是响应式的,methods并非响应式。

2.调用方式不一样,computed定义的成员是像属性一样访问,methods定义的成员必须以函数形式调用。

3.computed是带缓存的,只有依赖数据发生改变,才会重新进行计算,而methods里的函数在每次调用时都要执行。

4.computed中的成员可以只定义一个函数作为只读属性,也可以定义get/set变成可读属性,这点是methods的成员做不到的。

5.computed不支持异步,当computed内有异步操作时无效,无法监听数据的变化

注意

如果声明的计算属性计算量非常大的时候,而且访问量次数非常多,改变的时机却很小,那就需要用到computed;缓存会让我们减少很多计算量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容