vue2 响应式原理
1、对象类型:通过 Object.defineProperty() 对属性的读取、修改进行拦截(参考http://t.csdn.cn/OStv5)
- 问题:新增、删除属性,页面不更新
- 解决:
Vue.set(位置,属性名,属性值)(需引入Vue)或
this.$set(位置,属性名,属性值)
Vue.delete(位置,属性名)(需引入Vue)或
this.$delete(位置,属性名)
2、数组类型:通过包裹数组更新元素的方式实现(参考http://t.csdn.cn/nJi9H 的第3部分)
- 问题:通过下标修改数组,页面不更新
- 解决:
Vue.set(位置,索引,内容)(需引入Vue)或
this.$set(位置,索引,内容)
Vue.delete(位置,索引)(需引入Vue)或
this.$delete(位置,索引)
使用修改数组的API(参考http://t.csdn.cn/nJi9H 的第4部分)