console
let obj = {};
let $btn = document.getElementById('btn'),
$container = document.getElementById('app');
let i = 0;
console.log(document.body);
let render = function(container) {
let tpl = `
<div>name:${obj.name}</div>
<div>age:${age}</div>`;
container.innerHTML = tpl;
};
Object.defineProperties(obj, {
name: {
configurable: true,
enumberable: true,
set: function(v) {
console.log('name change callback');
this.name = v;
render($container);
},
get: function() {
return this.name;
}
},
age: {
configurable: true,
enumberable: true,
set: function(v) {
console.log('age change callback');
this.age = v;
render($container);
},
get: function() {
return this.age;
}
}
});
$btn.addEventListener('click', function(e) {
alert('lalalallaa');
obj.name = 'xiaoming' + (i++);
obj.age = 22;
},false);
<div id="app">
</div>
<button id="btn">
click
</button>