标签:des 模拟 script 函数 div TE ons class pre
Object.defineProperty(obj, prop, descriptor) // 对象、属性、描述符
Object.defineProperty是es5新加的给对象属性设置描述符的方法,可以用来监听属性值的变化
var obj ={}; var _name =‘张三‘ Object.defineProperty(obj,‘name‘,{ get:function () { return _name; }, set:function (value) { _name=value; } })
调用方式:
obj.name ="里斯"; alert(obj.name);
var vm= {}; var data= { items: [ { message: ‘Foo‘ }, { message: ‘Bar‘ } ] }; var i; for (i in data){ if(data.hasOwnProperty(i)){ (function(i){ // 独立函数作用域 Object.defineProperty(vm,i,{ //将data对象的属性代理到vm get: function () { return data[i]; }, set:function (newVal) { data[i]=newVal; } }) }(i)) } } vm.items[0].message=‘张三‘ console.log(vm.items);
标签:des 模拟 script 函数 div TE ons class pre
原文地址:https://www.cnblogs.com/fuGuy/p/9222249.html