Vue 监视数据的原理
1、Vue 会监视 data 中所有层次的数据
2、如何检测对象中的数据?
? ? ? 通过 setter 实现监视,且要在 new Vue() 就传入要监视的数据
? ? ? ? ? ? ? ? ?- 对象中后添加的属性,Vue 默认不做响应式处理
? ? ? ? ? ? ? ? ?- 如需给后添加属性做响应式,请使用如下 API:
? ? ? ? ? ? ? ? ? ? ????????Vue.set(位置,属性名/索引,属性值)或
? ? ? ? ? ? ? ? ? ????????? vm.$set(位置,属性名/索引,属性值)
3、如何检测数组中的数据?
? ? ? ? 通过包裹数组更新元素的方式实现
? ? ? ? ? ? ? ? ?- 调用原生对应方法对数组进行更新
? ? ? ? ? ? ? ? ?- 重新解析模板,更新页面
4、在 Vue 中修改数组中的某个元素:
? ? ? ? ? ? ? ? - 使用这些 API :push()、shift()、unshift()、splice()、sort()、reverse()
? ? ? ? ? ? ? ? - Vue.set()或vm.$set()
? ? ? ? ? ? ? ? - 注意: Vue.set()和vm.$set() 不能给 vm 或 vm 的根数据对象 添加属性
?
|