ES6 Proxy监听深层次对象

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属性的修改

阅读 6.5k
1 个回答

你需要深层次遍历对象,然后对每个对象代理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题