Vue中响应式更新

Vue响应式渲染的原理是:
data中各根属性对应的getter/setter方法的监听。
即:
当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue在实例化时将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。
每个组件实例都对应一个 watcher 实例,它会在组件渲染的过程中把“接触”过的数据属性记录为依赖。之后当依赖项的 setter 触发时,会通知 watcher,从而使它关联的组件重新渲染。
Vue中响应式更新_第1张图片
所以响应式变化的情况一般包括以下四种:
1、data中根属性的改变;
2、Vue.set(object, propertyName, value) 给根属性添加嵌套属性;
3、this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 }) 给根属性添加嵌套属性;
4、computed 计算属性中依赖的响应式属性的改变;

你可能感兴趣的:(Vue全家桶)