数据代理

飞流直下三千尺,疑是银河落九天
作者:周星星
发布于: 2021-09-01
1.先通过_data接收data中的属性 2.然后通过defineProperty方法vm对_data属性中的属性进行映射,变为自己的属性就是添加到自身 给每一个添加的属性都指定一个getter/setter. 3.最后vm可以通过getter/setter内部去操作data中的属性 所以可以直接vm.name去调用,而不是vm._data.name去调用

如图上面的两个对象,现在要通过obj2去修改obj里面的x属性的值。 通过defineProperty方法来给obj2增加新的属性x, 然后通过getter函数来获取obj2新增属性x的值,这里返回的是obj中的x。 在给新增的x属性添加setter函数,来修改新增x的值,set中的value就是我们自己想要修改的值。

tag

William:

周星星

多情自古空余恨,好梦由来最易醒。