关于childOb.dep.depend()
来源:4-10 检测变化的注意事项

慕九州5549167
2020-08-18
一开始没看懂,后来看了下其他同学和老师的问答。 observe(子对象)
时定义的响应式对象只能响应已经存在的属性,添加属性不会触发setter以及渲染watcher重新渲染。只能手动 ob.dep.notify()
,因为在 observe(父对象)
时会通过 childOb.dep.depend()
订阅了渲染watcher,所以能触发重新渲染。有个问题,对于子对象,通过childOb.dep.depend()
收集的是渲染watcher和父亲的自定义watcher,dep.depend()
收集的是渲染watcher和自己的自定义watcher,是这样吗?
写回答
1回答
-
在执行depend 的时候,无论是 childOb.dep.depend 还是 dep.depend,收集都是同一个当前计算的 watcher ——Dep.target。 至于是 render watcher 还是 user watcher 取决于这个对象是什么时候被访问的而已。
012020-08-19
相似问题