🧨

Watch Api Implement

原理

本质上也是通过ReactiveEffect里面的scheduler去实现的,不同的是:
  1. 计算属性的scheduler里面是处理一些dirty缓存的操作
  1. watch里面的scheduler是处理watch的回掉函数的一些操作(优化等等)
 

内部逻辑

  1. 初始化:内部初始化一个ReactEffect实例,让watcher的第一个参数当成getter,然后把回调函数包装一层逻辑再当成schedular传入
  1. 依赖收集:首先让effect跑一次,这样getter里面的reactive对象会去收集刚刚新建的whatch的ReactEffect实例
  1. 执行: 当vue改变时