vue的computed原理

依赖属性值发生变化:

  1. 计算属性收到依赖属性的dep的通知
  2. 如果这时计算属性没有订阅者,将将dirty设置为true
  3. 如果已经有订阅者,重新计算属性值,通过自己dep通知自己的订阅者,dirty=false

 

当调用了get:

  1. 收集watcher
  2. new watcher被依赖属性dep收集
  3. 如果dirty为true,重新计算属性值,
  4. 如果dirty为false,使用缓存的值

当调用set:

通知订阅者

 

上一篇:【JS】attribute 和 property 的绑定


下一篇:看过这篇剖析,你还不懂 Go sync.Map 吗?