Skip to main content

Vue2 的响应式原理使用 Object.defineProperty 的缺陷

  1. Object.defineProperty 无法监控到数组下标的变化,导致通过数组下标添加元素,不能实时响应;
  2. Object.defineProperty 只能劫持对象的属性,从而需要对每个对象,每个属性进行遍历,如果,属性值是对象,还需要深度遍历。Proxy 可以劫持整个对象,并返回一个新的对象。

重写了

push()
pop()
shift()
unshift()
splice()
sort()
reverse()

$set 解决上面的问题