Javascript &引用;“实例范围”;TypeScript类的getter/setter?
所以我知道我可以为每个属性设置getter/setterJavascript &引用;“实例范围”;TypeScript类的getter/setter?,javascript,oop,typescript,ecmascript-6,getter-setter,Javascript,Oop,Typescript,Ecmascript 6,Getter Setter,所以我知道我可以为每个属性设置getter/setter export class Person { private _name: string; set name(value) { this._name = value; } get name() { return this._name; } } 但是有没有一种方法可以让“全局实例范围”的setter在类实例的任何属性被修改时触发呢? 没有在调用触发器函数的每个get
export class Person {
private _name: string;
set name(value) {
this._name = value;
}
get name() {
return this._name;
}
}
但是有没有一种方法可以让“全局实例范围”的setter在类实例的任何属性被修改时触发呢?
没有在调用触发器函数的每个getter/setter中手动添加函数调用?比如,打字机脚本中内置的东西
提前感谢。TypeScript中没有内置的方法来实现这一点,也没有JavaScript运行时功能
最接近的东西是一个,它可以包装一个底层对象并截取属性指定。但您必须确保类实例在传递到其他地方之前已包装好。您需要它做什么?@Bergi我希望在实例更改时发出事件,而不是在每个setter中发出它(或调用类中的发出函数)(这也要求我在不需要设置器时添加设置器,以便能够跟踪更改)。因此,您不需要查看任何属性,只需要查看实例拥有的所有属性。您可以通过编程方式轻松地向它们添加设置器。