依赖对象 a 的 watcher 可以在 vm.$data.__ob__.dep.subs 里看到,可是依赖 c 的watcher 不知道在哪里。
<div id="app">
<p>{{c}}--{{cc}}</p>
<div>{{a.b}} --{{aa}}</div>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
a: {
b: 2,
},
c: 0,
},
computed: {
aa() {
return this.a;
},
cc() {
return this.c;
},
},
});
</script>
所有的watcher都可以在vm._watchers中找到
依赖c的watcher有computed-watcher cc和render-watcher,其中render-watcher就是vm._computedWatchers,computed-watcher可以在vm._computedWatchers中找到
vue-数据监听与依赖收集