监听对象的某个元素是否变化

51 阅读1分钟
const obj = {
  name: '周周',
  age: 18
};

const changeEffect = new Proxy(obj, {
  set(target, key, value) {
    handleChange({ fieldKey: key, fieldValue: value });
    return Reflect.set(target, key, value)
  },
});

const handleChange = ({ fieldKey, fieldValue }) => {
  console.log(fieldKey, fieldValue)
}

setTimeout(() => {
  // 测试
  changeEffect.age = 19;
}, 1000);