vue依赖收集的策略
依赖收集的策略
遍历dom节点,找到正则匹配的{{}}所在节点,执行$watch方法。
$watch方法传入两个参数:
1.绑定的数据路径
2.回调函数
回调函数包含了对应的节点信息。
$watch方法的实现:
生成一个Watcher实例,用于收集依赖。
然后就把Watcher实例放入全局target。
依赖收集的方式是,访问object数据,从而触发get方法。
get方法里判断有全局的target,执行Dep实例的addDepend方法。
addDepend方法内容:全局target也就是Watcher实例执行addDep方法。
addDep方法内容:把Watcher实例放入Dep实例的数组中。
完成依赖收集。
合乎自然而生生不息。。。