vue源码中Dep.target的请教

vue进行依赖收集的时候,会在Watcher中设置Dep.target,然后在defineReactive中执行dep.depend(),用Dep.target判断是否添加观察者对象。有两个问题如下:

  1. Dep.target是全局变量上的属性吗,如果是,收集不同key值得依赖不会互相影响吗,难道是因为同步执行先后有序来避免影响的,这个全局Dep就是Dep类吗?
  2. WatcherDep中都有个depend()方法,分别的具体作用是啥呢?

望赐教

阅读 5.5k
1 个回答
新手上路,请多包涵

跟楼主一样对dep.target有疑惑,这里说下部分问题我自己的理解,dep.target收集不同依赖我理解是不会互相影响,源码里dep.target每次在watcher实例化的时候都指向了该实例,并且在watcher类的最后都把dep.target置空了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏