MVVM 框架的三大要素:
function defineReactive(obj, key, value) {
Object.defineProperty(obj, key, {
get() {
// 获取数据
return obj[key]
},
set(newValue) {
// 设置数据
if(value !== newValue) {
value = newValue
}
}
})
}
测试一下数据是否被真的拦截
const obj = {};
defineReactive(obj, 'name', 'ken');
obj.foo; // name
obj.foo = 'KenNaNa'; // KenNaNa