在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首次设置时(我猜,它应该是它应该是什么),但我希望它提醒“已更新!”即使我在该对象上设置属性。有没有办法做到这一点,还是我应该提出某种解决方法?
答案 0 :(得分:0)
创建一个事件系统,在对象状态发生变化时触发。不允许直接访问属性。通过控制器对所有活动进行漏斗,根据需要触发状态更改。
或者考虑使用已经完成此操作的框架。 Backbone,Knockout,Angularjs等。