作用:
对象:
响应式原理:通过触发setter实现更新
对象中后追加的属性、删除已有属性,Vue默认不做响应式处理
解决:this.$set()
数组:
响应式原理:调用重写的原生方法实现更新
数组中修改某下标的元素、更新length,Vue默认不做响应式处理
解决:
1. this.$set()
2. 使用原生API:push、pop、shift、unshift、splice、sort、reverse
原理:
如果目标是数组,直接使用数组的splice方法通知实现更新
如果目标是对象,先给对象属性用数据代理添加getter、setter,再通过触发setter通知实现更新