computed 与 watch 的区别

101 阅读1分钟

computed 意为计算

watch 意为监听

功能上: computed 能完成的功能,watch 都能完成,watch 能完成的功能,computed不一定能完成,例如 watch 可以进行异步操作 ,而computed 不行

computed: 计算属性. computed数据依赖于其他数据

  1. 用来计算出一个值,这个值在调用的时候不需要加().

  2. 自动缓存:计算结果改变时缓存.如果依赖的值不变,computed值不会重新计算

  3. 如果一个值依赖于其他多个属性,使用computed属性 :

    1. getter: 读取
    2. setter: 设值

watch: 监听在某个数据变化时执行一些操作

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

  2. 如果一个值变化会引起一系列值的变化,使用watch属性 :

    1. immediate:第一次执行时是否触发watch
    2. deep:监听一个属性时,是否监听里面的变化