computed(计算属性)是自动监听依赖值的变化,从而动态返回内容;
watch(监听)是一个过程,在监听的值变化时,可以触发一个回调,并做一些事情。
区别
- computed属性不是data中的属性值,是一个新值,初始化时使用
Object.defineProperty
方法挂载到vm上;而watch是监听已经存在于data中的属性 - computed本质是一个
惰性的观察者
,具有缓存性
,之后依赖的data值变化时,才会变化;watch没有缓存性,数据变化就更新 - computed适合与一个数据被多个数据影响;而watch适用于一个数据影响多个数据。