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)(去除重复)=>更新domnextTick()数据更新 dom更新完成 调用回调函数