我们为每个Vue属性用Object.defineProperty()实现数据劫持,重写数据的get/set方法,为每个属性分配一个订阅者集合的管理数组dep,由dep去通知订阅者watcher,订阅者会触发它的update方法,对视图进行更新。compile去遍历和解析Vue的指令,形成html显示到界面上
vue的响应式是有缺陷的,是没办法监听对象(可以用this.$set(对象名,‘属性’,新值)
)和数组(用下标改是没办法监听到的,只有用array.splice()
进行修改才可以监听到,也可以使用this.$set(数组名,下标,值)
进行修改)