Vue 将被侦听的数组的变更方法进行了包裹,所以它们也将会触发视图更新。这些被包裹过的方法包括:
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
除了这些 变更方法 之外还有一些方法能触发数组的更新
使用时: this.arr = this.arr.filter(item => item.id == id)
filter()
concat()
slice()
…
它们通常都返回一个变更之后的数组 用它们把原数组对象覆盖掉
另外:
vue并不会因为数组的覆盖而 丢弃现有 DOM 并重新渲染整个列表。Vue 为了使得 DOM 元素得到最大范围的重用而实现了一些智能的启发式方法,所以用一个含有相同元素的数组去替换原来的数组依旧是非常高效的操作。