wangtunan

Results 3 comments of wangtunan

共同点:都是经过依赖收集和派发更新的流程 不同点: 1、计算属性依赖computed watcher、watch监听依赖的是user watcher。 2、定义方式不同,计算属性本质上是get/set形式,即使写成函数形式,Vue底层也会规范化为get/set形式。而watch提供的是一个回调函数。 3、可取消性不同,计算属性一旦依赖,无法取消,也就是说定义后无法更改其get函数,而使用$watch方法实现的监听它返回一个unwatch可随时取消,取消后当数据再次发生变动时,不会再执行我们的回调函数。 4、时效性不同,计算属性属于惰性求值,当依赖的响应式变量更新时,只要我们不主动触发计算属性的getter,它可能永远都不会重新求值。对于watch而言,只要我们的响应式变量发生了变化,就会执行回调函数。 5、依赖变化性,计算属性的依赖可能不固定,每次求值时会重新进行依赖收集,依赖清除,而watch监听的依赖是固定的。

Thanks for the nice code

nice code