为什么不可以将dep和childdep合二为一

来源:4-10 检测变化的注意事项

慕运维6041222

2021-10-23

比如在获取childOb的时候
let childOb = !shallow && observe(val, dep)
将definedproperty的时候的闭包dep传入
这样就不需要再运行
childOb.dep.depend收集依赖了

写回答

2回答

ustbhuangyi

2021-10-25

首先,你要搞清楚 childOb.dep.depend 的目的是什么。其次,有任何想法你都可以去尝试,修改源码,然后跑 Vue 的单测,如果所有单测都能过,说明你的想法是可行的,如果某些测试用例过不了,那么说明你的想法还是有问题的。

1
1
慕运维6041222
我尝试一下,感谢大佬 我认为childob收集依赖是因为访问child的未定义属性没有响应 所以把访问属性的时候触发的响应收集给dep的同时丢给childob.dep 方便在Vue.set的时候触发通知 谢谢大佬回复!
2021-10-25
共1条回复

慕运维6041222

提问者

2021-10-23

我的想法类似于https://github.com/HcySunYang/vue-design/issues/209

0
0

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4984 学习 · 1037 问题

查看课程