computed 是计算属性,用于计算一个属性的值。调用时不需要加括号,可以直接当作属性使用。它根据依赖自动缓存,当依赖不变时,值不会重新计算。
watch 是监听器,当数据发生变化时,会执行一个函数。它有以下特性:
- immediate: true 表示回调将会在侦听开始之后被立即调用。
- deep: true 表示回调会在任何被侦听的对象的 property 改变时被调用,不论其被嵌套多深。
- 不支持缓存,数据变化时会直接触发相应的操作。
总结:
- 如果一个数据依赖于其他数据,那么把这个数据设计成 computed。
- 如果需要在某个数据变化时做一些事情,使用 watch 来监听它的变化。