监听单一变量
var obj={};
Object.defineProperty(obj,'data',{
get:function(){
return data;
},
set:function(newValue){
data=newValue;
console.log('set :',newValue);
//需要触发的渲染函数可以写在这...
}
})
obj.data=1;//set: 1
监听多个变量
var obj = {};
Object.defineProperties(obj, {
a: {
configurable: true,
get: function() {
console.log('get: ',a)
return a
},
set: function(newValue) {
a = newValue;
console.log('set: ',a)
}
},
b: {
configurable: true,
get: function() {
console.log('get: ',b)
return b;
},
set: function(newValue) {
b = newValue;
console.log('set: ',b)
}
}
})