1

在 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 时(我猜,这确实是它应该的样子),但我希望它提醒“已更新!” 即使我在该对象上设置属性。有没有办法做到这一点,或者我应该想出某种解决方法?

4

1 回答 1

0

创建一个在对象状态更改时触发的事件系统。不允许直接访问属性。通过一个控制器汇集所有活动,该控制器在必要时触发状态更改。

或者考虑使用已经这样做的框架。骨干网、淘汰赛、Angularjs 等。

于 2013-01-15T03:16:11.850 回答