vue响应式原理 vuejs
原理
1 | var vw = new Vue({ |
- 先把
data
封装 可以getter
、setter
- 通过
watch
观察数据变化 告诉renderFun()
改变dom
dom
=>touch
=>data
=>watch
=>renderFun
=>dom
声明响应式属性
vue不允许动态添加根级响应式属性
可以通过set(this.someObj,key,value) 给根级响应式属性 添加属性
添加一些属性
1
this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 })
异步更新队伍
oldvalue
=>newvalue
=>异步(promise.then)(去除重复)
=>更新dom
nextTick()
数据更新 dom更新完成 调用回调函数