1、一句话,vue2的响应式是通过Object.defineProperty添加get和set方法,把data中的数据变成响应式的,然后使用发布订阅模式(观察者模式)进行依赖追踪。
添加get和set方法老生长谈,现在说发布订阅模式进行追踪
主要有几个部分
Observe 封装的方法,把data中的属性转为响应式的。
Dep 依赖收集,读取属性时,记录谁使用了。属性发生了变化,通知使用到该属性的地方
watcher 监听,让dep知道谁在用它,也就是当用到响应式数据时,该数据不知道哪个方法用到了它。