Proxy如何监听到任意深层次对象的修改?
例如:
let obj = {
name: {
first: 'Hello',
last: 'World'
},
age: 20
}
let objx = new Proxy(obj, {
set(target, key, value, receiver) {
console.log(key);
target[key] = value;
}
})
objx.age = 18;
objx.name.first = 'Hello!';
这种情况只会监听到objx.age,无法监听到objx.name.first属性的修改
你需要深层次遍历对象,然后对每个对象代理