增加一个用于跟踪字段值更新的decorator
This commit is contained in:
parent
33248226d5
commit
c9aaf18a82
22
src/decorators/debug.decorator.ts
Normal file
22
src/decorators/debug.decorator.ts
Normal 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
|
||||
})
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user