目录

🌔 Vue 数据绑定原理

# MVVM 模型

  • M(Model):对应 data 中的数据;
  • V(View)视图(模版);
  • VM(ViewModel):Vue 实例对象;

通过测试观察:

  • data 中的属性最后会出现在 vm (指定的 Vue 实例对象);
  • vm 中的所有属性以及 Vue 原型上的所有属性,在 Vue 模版中都可直接使用

# 数据代理

通过一个对象代理对另一个对象中属性的操作(读写);

Vue 中的数据代理(P13 (opens new window)):通过 vm 对象来代理 data 对象中属性的操作(读写);

Vue 中数据代理的好处:

  • 更加方便的操作 data 中的数据

基本原理:

通过 Object.defineProperty()data 对象中所有属性添加到 vm 上。 为每一个添加到 vm 上的属性,都指定一个 getter / setter 。 在 getter / setter 内部去操作(读 / 写) data 中对应的属性。

image-20211101100720202

📢 上次更新: 2022/09/02, 10:18:16