增加一个用于跟踪字段值更新的decorator

This commit is contained in:
zhl 2020-12-18 16:18:38 +08:00
parent 33248226d5
commit c9aaf18a82

View File

@ -0,0 +1,22 @@
/**
* class某property的值变化
* 使:
* @trace
*/
export function trace() {
return function (target: any, name: string) {
let val = target[name];
const setter = function (valNew: any) {
console.trace(`${target.constructor.name}.${name} set val: ${valNew}`);
val = valNew;
}
const getter = function () {
return val;
}
Reflect.defineProperty(target, name, {
get: getter,
set: setter
})
}
}