我是瘦子

每日一题(2019-10-29)

第 0002 题:Vue 中的 computed 和 watch 的区别在哪里

computed:计算属性

  • 计算属性是由 data 中的已知值,得到的一个新值。
  • 这个新值只会根据已知值的变化而变化,其他不相关的数据的变化不会影响该新值。
  • 计算属性不在 data 中,计算属性新值的相关已知值在 data 中。
  • 具有缓存性,页面重新渲染值不变化,计算属性会立即返回之前的计算结果,而不必再次执行函数。
  • 别人变化影响我自己。

watch:监听数据的变化

  • 监听data中数据的变化。
  • 监听的数据就是data中的已知值。
  • 无缓存性,页面重新渲染时值不变化也会执行。
  • 我的变化影响别人。

公司:虾皮

  1. watch 擅长处理的场景:一个数据影响多个数据
  2. computed 擅长处理的场景:一个数据受多个数据影响