_proxy:function(key){ // 保存vm var me = this; // 给 vm添加指定属性名的属性(使用的属性描述符) Object.defineProperty(me,key,{ configurable:false,// 不能重新定义 enumerable:true, // 可以枚举遍历 // 当通过vm.xxx读取属性值时调用, 从data中获取对应的属性值返回 代理读操作 git:function proxyGetter(){ return me._data[key]; }, // 当通过vm.xxx = value时 , value被保存到data中对应的属性上 代理写操作 set:function proxySetter(newVal){ me.data[key] = newVal; } } }
原文:https://www.cnblogs.com/cl1998/p/13334898.html