原本地址:https://my729.github.io/blog/interview/vue相关.html#vue数组-对象的更新检测
::: danger 重要
Vue不能检测到对象的添加或者删除。Vue在初始化实例时就对属性执行了setter/getter转化过程,所以属性必须开始就在对象上,这样才能让Vue转化它
:::
vue检测数据(数组)变动靠的是setter
和getter
这两个属性,而这两个属性,使用了js原生的Object.defineProperty()
,第一个实现Object.defineProperty
方法的浏览器是IE8,这也是为什么vuejs不支持ie8以下的原因
数组更新检测
Vue 包含一组观察数组的变异方法,它们也将会触发视图更新:
push()
pop()