Vue 源码 vue是如何收集依赖的

依赖3大类

1 observe 观察对象 ,收集依赖 封装在src/core/observer/index.js
2 watcher 观察被观察的对象,如果对象发生改变,会通知到重新收集依赖,并且会updata更新,封装在src/core/observer/watcher.js
3 dep 管理依赖的对象,封装在src/core/observer/dep.js
initstate函数初始化对象
挂载了个$options的全局对象
初始化了props,methods,data,computed,watch
initData函数
判断返回值是不是函数,是函数是用自己
并调用observe 函数去实例化new一个obsever类
Observer类里面做了什么呢
new 了一个Dep()的类
循环data每一个对象,遍历调用defineReactive函数
defineReactive
Object.defineProperty

猜你喜欢

转载自blog.csdn.net/weixin_45596949/article/details/126515810