在 Typescript 中,如何对对象的所有属性使用 getter/setter?例如,我可以有以下代码:
class Div {
private _container: HTMLDivElement;
public get container() {
return this._container;
}
public set container(value) {
alert("Updated!");
this._container = value;
}
testDiv() {
this.container = <HTMLDivElement>document.createElement('div');
this.container.style.width = "100px";
}
}
var newDiv: Div = new Div();
newDiv.testDiv();
“更新了!”仅提醒一次 - 当第一次设置 div 时(我猜,这确实应该是这样),但我希望它提醒“已更新!”即使我在该对象上设置属性。有没有办法做到这一点,或者我应该想出某种解决方法?
最佳答案
创建一个在对象状态发生变化时触发的事件系统。不允许直接访问属性。通过 Controller 汇集所有事件,并根据需要触发状态更改。
或者考虑使用已经做到这一点的框架。 Backbone、Knockout、Angularjs 等
关于javascript - 对象属性的 Getter/Setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14329640/