vue 中的computed 和 watch 监听

如题所述

第1个回答  2022-06-01

实现监听的功能既能用 computed 实现又可以用 watch 监听来实现。但是推荐用 computed来监听,重点在于 computed 的缓存功能。

区别:
1、computed中不支持异步操作,而watch中是支持异步操作。
2、watch 监听的是已经在 data 中定义的变量,当该变量变化时,会触发 watch 中的方法。watch 属性监听是一个对象,键是需要观察的属性,值是对应回调函数,主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作,监听属性的变化,需要在数据变化时执行异步或开销较大的操作时使用
computed 计算属性是用来声明式的描述一个值依赖了其它的值,当所依赖的值或者变量 改变时,计算属性也会跟着改变;computed计算属性的结果会被 缓存 ,当computed中的函数所依赖的属性没有发生改变的时候,那么调用当前函数的时候结果会从缓存中读取。除非依赖的响应式属性变化时才会重新计算,主要当做属性来使用 computed中的函数必须用return返回最终的结果 computed更高效,优先使用。data 不改变,computed 不更新。

使用场景
computed:当一个属性受多个属性影响的时候使用,例:购物车商品结算功能
watch:当一条数据影响多条数据的时候使用,例:搜索数据

相似回答
大家正在搜