首先我们来了解一下:diff 是什么?
通俗的讲,diff 就是比较两棵树,render 会生成两颗树,一棵新树 newVnode,一棵旧树 oldVnode,然后两棵树进行对比更新找差异就是 diff,全称 difference,在 vue 里面 diff 算法是通过 patch 函数来完成的,所以有的时候也叫 patch 算法
在 vue 实例调用 $mount 的时候,就已经把 updateComponent 方法通过 new Watcher(vm, updateComponent) 传入到渲染 watcher 里面, 且挂在 watcher.getter 上,得到一个渲染 watcher,渲染 watcher,在以后每次响应式数据更新都会执行 watcher.getter 即 updateComponent 方法