Proxy

mac2022-06-30  31

Proxy

Proxy 是 ES6 中新增的功能,可以用来自定义对象中的操作

let p = new Proxy(target, handler); // `target` 代表需要添加代理的对象 // `handler` 用来自定义对象中的操作 // 可以很方便的使用 Proxy 来实现一个数据绑定和监听 let onWatch = (obj, setBind, getLogger) => { let handler = { get(target, property, receiver) { getLogger(target, property) return Reflect.get(target, property, receiver); }, set(target, property, value, receiver) { setBind(value); return Reflect.set(target, property, value); } }; return new Proxy(obj, handler); }; let obj = { a: 1 } let value let p = onWatch(obj, (v) => { value = v }, (target, property) => { console.log(`Get '${property}' = ${target[property]}`); }) p.a = 2 // bind `value` to `2` p.a // -> Get 'a' = 2

转载于:https://www.cnblogs.com/guangzan/p/11274292.html

最新回复(0)