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:

通知订阅者

 

posted @ 2021-01-18 10:56  baixinL  阅读(89)  评论(0)    收藏  举报