本节简述 Vue 的响应式原理
Vue响应式是通过观察者模式实现的,与之关联的三个类:Observer、Watcher、Dep
Observer:Vue中的将数据对象在转换为Observer类型对象,并绑定__ob__属性且该属性不可遍历。Watcher:将模板渲染和Observer对象结合在一起生成Watcher实例,Watcher是观察者者。Watcher的本质就是存储了一个需要在特定时机触发的函数。组件无论渲染多少次,组件的渲染watcher实例都是同一个,在初始化时确定的。Dep:Watcher和Observer之间纽带。每一个Observer实例都有一个 dep 属性,用来存储观察者Watcher。在数据响应式的时候,收集与数据相关的watcher实例,当数据变化的时候再派发更新。所以脱离了watcher也就没有实际意义。