根据调试工具看Vue源码之watch

官方定义

  • 类型{ [key: string]: string | Function | Object | Array }
  • 详细
一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个属性。

初次探索

我们的意图是 —— 监测app这个变量,并在函数中打下一个断点。
我们期待的是 —— 断点停下后,调用栈中出现相关的函数,提供我们分析watch原理的依据。

抱着上面的意图以及期待,我们新建一个Vue项目,同时写入以下代码:

created () {
    this.app = 233
},
watch: {
    app (val) {
      debugger
      console.log('val:', val)
    }
}

刷新页面后右边的调用栈显示如下

相关推荐