第一步:将data下面的属性变为observable,使用Object.defineProperty对数据对象做属性get和set的监听,当有数据读取和赋值操作时则调用节点的指令,这样使用最通用的=等号赋值就可以触发了。//数据劫持,监控数据变化
第二步:实现一个消息订阅器,我们维护一个数组,这个数组,就放订阅者,一旦触发notify,订阅者就调用自己的update方法
第三步:实现一个 Watcher,就是执行数据变化时我们要执行的操作 (依赖收集追踪原理)
第四步:touch拿到依赖,视图的更新需要哪些数据的支持,并把它记录为数据的订阅者
最后: 我们来看用一个代理实现将我们对data的数据访问绑定在vue对象上