在 Vue3 中,可以使用Proxy来创建代理对象。下面是一个简单的示例:

const data = {
  name: 'Alice',
  age: 20
}

const proxy = new Proxy(data, {
  get(target, key) {
    console.log(`Getting ${key}: ${target[key]}`);
    return target[key]
  },
  set(target, key, value) {
    console.log(`Setting ${key}: ${value}`);
    target[key] = value
  }
})

console.log(proxy.name) // 获取name属性,会打印"Getting name: Alice"
proxy.age = 21 // 设置age属性为21,会打印"Setting age: 21"

在上面的示例中,我们创建了一个data对象,并使用Proxy创建了一个代理对象proxy。代理对象proxy会拦截对data对象的读取和修改操作,并在控制台打印相应的日志。

可以在get和set处理器中添加自定义的逻辑,例如做一些数据验证或触发其他操作。


原文地址: https://www.cveoy.top/t/topic/pOoG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录