Vue中computed和watch区别

97 阅读1分钟

computed和watch区别

  • 功能上:computed是计算属性,也就是依赖其它的属性计算所得出最后的值。watch是去监听一个值的变化,然后执行相对应的函数
  • 使用上:computed中的函数必须要用return返回(默认走get函数);watch的回调里面会传入监听属性的新旧值,通过这两个值可以做一些特定的操作,比如异步任务,不是必须要用return
  • 性能上:computed中的函数所依赖的属性没有发生变化,那么调用当前的函数的时候会从缓存中读取,而watch在每次监听的值发生变化的时候都会执行回调
  • 场景上:computed:当一个数据受多个数据影响的时候,例子:购物车金额结算;watch:当一条数据影响多条数据的时候,例子:搜索框