所以我知道我可以为每个属性设置getter / setter。
export class Person {
private _name: string;
set name(value) {
this._name = value;
}
get name() {
return this._name;
}
}
但是有没有办法在整个实例范围内拥有一个""每当类实例的任何属性被修改时触发的setter? 无需在每个调用该触发器函数的getter / setter中手动添加函数调用?比如,TypeScript内置的东西?
提前致谢。
答案 0 :(得分:5)
TypeScript中没有内置方式来执行此操作,也没有针对它的JavaScript运行时功能。
最接近的是Proxy,它可以包装底层对象并拦截属性赋值。但是你必须确保类实例在被传递到其他地方之前被包装好。