Vue 的响应式原理中 Object.defineProperty 有什么缺陷?为何在 Vue3.0 采用了 Proxy,抛弃了 Object.defineProperty?

  1. Object.defineProperty没法监控到数组下标的变化,致使经过数组下标添加元素,不能实时响应;
  2. Object.defineProperty只能劫持对象的属性,从而须要对每一个对象,每一个属性进行遍历,若是,属性值是对象,还须要深度遍历。Proxy能够劫持整个对象,并返回一个新的对象。
  3. Proxy不只能够代理对象,还能够代理数组。还能够代理动态增长的属性。
相关文章
相关标签/搜索