对 Vue 数据响应式的理解

348 阅读1分钟

Vue 的 data 是响应式的。

当把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。通过这个 Vue 实例来监听数据的变化。

如果新增 key,Vue 没有办法监听和代理,所以最好提前把属性都写出来,不要新增 key。数组中新增 key,可以用 set 来新增 key,并更新 UI。

尤雨溪篡改了 7 个 API 方便对数组进行增删。

  1. push()
  2. pop()
  3. shift()
  4. unshift()
  5. splice()
  6. sort()
  7. reverse()

「@浪里淘沙的小法师」