使用js实现简单数据绑定
方法一
function dataBind(obj, fn) {
for (let key in obj) {
Object.defineProperty(obj, key, {
set(newValue) {
if (this.value !== newValue) {
this.value = newValue;
fn(obj,key)
}
},
get() {
return this.value;
}
})
}
}
方法二
function dataBind(data) {
return new Proxy(data, {
set(data, pro, value) {
data[pro] = value;
},
get(data, pro) {
return data[pro];
},
});
}}