Vue数据监视原理
1.Vue监视data中所有层次的数据;
2.监视行为(对象):
通过setter进行监视,并且在new Vue时就已经传入需监视的数据;
对象中追加的属性,Vue默认不做响应式处理;
如果需要后追加的属性进行响应式处理,使用以下API:
Vue.set(target, propertyName/index, value) 或
vm.$set(target, propertyName/index, value)
3.监视行为(数组):
Vue通过包裹数组更新原始的方法实现,本质进行了两步操作:
1.调用原生对应的的方法对数组进行更新;
2.重新解析模板,更新页面;
Vue修改数组中的某个元素必须使用此类方法:
1.包裹数组方法后的API:push() , pop() ,shift() ,unshift() ,splice() , sort() , reverse()
2.Vue.set() 或 vm.$set