vue中computed和watch的区别与使用场景

计算属性computed:

  1. 支持缓存,只有依赖数据发生改变,才会重新进行计算
  2. 不支持异步,当computed内有异步操作时无效,无法监听数据的变化
  3. computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值

侦听属性watch:

  1. 不支持缓存,数据变,直接会触发相应的操作
  2. watch支持异步;
  3. 监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;

适用场景

  • computed 适⽤于计算⽐较消耗性能的计算场景
  • 当我们要进⾏数值计算,⽽且依赖于其他数据,那么把这个数据设计为computed
  • 如果你需要在某个数据变化时做⼀些事情,使⽤watch来观察这个数据变化
posted @ 2021-04-27 18:02  嘿!那个姑娘  阅读(862)  评论(0编辑  收藏  举报