一、让对象变得可观测
- 使依赖变得可观测:Object.defineProperty(obj,key,configObject)
- 依赖收集:
- 什么是依赖:我们把谁用了数据就称作依赖,把这些依赖都放在一个数组里
- 何时收集依赖:
所谓谁用到了这个数据,其实就是谁获取了这个数据,而可观测的数据被获取时会触发
getter
属性,那么我们就可以在getter
中收集这个依赖。同样,当这个数据变化时会触发setter
属性,那么我们就可以在setter
中通知依赖更新。总结一句话就是:在getter中收集依赖,在setter中通知依赖更新。
-
收集的依赖放到何处:给每个数据都建一个依赖数组,谁依赖了这个数据我们就把谁放入这个依赖数组中 => 依赖管理器
Dep
类