1.vue的数据代理:data对象的所有属性的操作(读/写)由vm对象来代理操作。
2.好处:通过vm对象就可以操作data中的数据。
3.实现:
1).通过Object.defineProperty( vm , key , {} ) 给vm添加与data对象的属性对应的属性。
2).所有添加的属性都包含get/set方法。
3).在get/set方法中去操作data中对应的属性。
属性描述符:
1.数据描述符
configurable:是否可以重新定义
enumerable:是否可以枚举
value:初始值
writable:是否可以修改属性值
2.访问描述符
get:是一个回调函数,根据其他相关的属性动态计算得到当前属性值
set:也是一个回调函数,监视当前属性值的变化,更新其他相关的属性值