增加一个用于跟踪字段值更新的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