vue进行依赖收集的时候,会在Watcher中设置Dep.target,然后在defineReactive中执行dep.depend(),用Dep.target判断是否添加观察者对象。有两个问题如下:
- Dep.target是全局变量上的属性吗,如果是,收集不同key值得依赖不会互相影响吗,难道是因为同步执行先后有序来避免影响的,这个全局Dep就是Dep类吗?
- Watcher和Dep中都有个depend()方法,分别的具体作用是啥呢?
望赐教
vue进行依赖收集的时候,会在Watcher中设置Dep.target,然后在defineReactive中执行dep.depend(),用Dep.target判断是否添加观察者对象。有两个问题如下:
望赐教
5 回答7.1k 阅读✓ 已解决
5 回答8.2k 阅读
2 回答10.3k 阅读✓ 已解决
2 回答12.6k 阅读✓ 已解决
2 回答10.4k 阅读✓ 已解决
1 回答5.1k 阅读✓ 已解决
4 回答6.1k 阅读
跟楼主一样对dep.target有疑惑,这里说下部分问题我自己的理解,dep.target收集不同依赖我理解是不会互相影响,源码里dep.target每次在watcher实例化的时候都指向了该实例,并且在watcher类的最后都把dep.target置空了