computed和watch的区别

计算属性computed:

1.支持缓存,只有依赖数据发生变化,才会重新计算

2.是不支持异步的。也就是基于data中或者父组件穿过来的props的数据计算得到的值;即假设一个值为其他属性计算而得来的,他依赖其他属性。一对一,一般用computed

3.如果computed属性属性值为函数时,那么默认走的时get,即函数的返回值就是属性的属性值;而数据变化时,调用的是set

总结:computed适合一个数据受到多个数据影响

侦听属性watch:

1.首先watch不支持缓存的,数据变化会直接触发相应的操作

2.支持异步

3.监听的函数会接收两个参数,第一个参数是最新的值,第二个参数是输入之前的值

4.当一个属性发生变化时,需要执行相应的操作,一对多

5。监听数据必须时data中声明过或者时props中的数据,当数据发生变化时,出发其他操作。有两个参数,

immediate:组件加载立即触发回调函数的执行

deep:深度监听,为了发现对象内部值的变化,复杂类型的数据时使用。但是deep无法监听数组的变动和对象的新增

总结:watch适用于一个数据影响到多个数据

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

友情链接更多精彩内容