vue 中依赖基本数据类型的 watcher,存放在哪里?

依赖对象 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>

image.png

阅读 2.1k
1 个回答

所有的watcher都可以在vm._watchers中找到

依赖c的watcher有computed-watcher cc和render-watcher,其中render-watcher就是vm._computedWatchers,computed-watcher可以在vm._computedWatchers中找到

vue-数据监听与依赖收集

推荐问题
宣传栏