数据代理:一个对象对另一个对象的属性进行 *** 作(读/写)
通俗来讲,数据代理是一个对象代理data对象中的属性的 *** 作
1. 通过Object.defineProperty()把data对象的所有属性添加到这个对象上
2. 为每个添加到这个对象上的属性,都指定一个getter/setter
3. 在getter/setter内部去 *** 作(读/写)data中对应的属性
以上三条可以理解为:
首先你创建了一个实例化vue对象,vm。
vm实例化底层有一个_data对象,_data对象里的数据来源于data。
但是你直接vm.data是访问不到data里面的属性的。
只能是通过vm._data.name或者是vm._data.address来访问
数据代理也可以理解为:把vm对象中没有的name和address属性添加,通过getter读取到_data中的值。
name和address的属性修改,通过setter映射到_data对象中,从而修改页面上的数据
数据代理的好处:更加方便 *** 作data对象中的数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)