【发布时间】:2014-01-29 23:45:34
【问题描述】:
我认为这更像是一个设计问题,但这里是这样。
我有一个使用 Typescript 的 Web 应用程序。 我有一个从基类继承的类。 基类在其构造函数中调用一些初始化代码(如下载 .xml 文件)。 下载完成后,它会调用一个事件(例如 Init_Completed)。
现在,我需要派生类来处理这个事件。我知道我可以在基类中注册此事件,并在派生类中重载该处理程序方法。
但是,我需要派生类能够注册此事件处理程序,如下所示:
this.OnLoaded += this.LoadedCompleted;
问题来了:
如何正确设计这个?...因为加载是在 基类构造函数。这意味着加载的事件可能是 在派生类有机会注册/监听之前调用 本次活动。
【问题讨论】:
-
我建议使用越位 EventEmitter 在一个集中位置处理所有事件。
-
@RobG 这是打字稿
-
更改基类,以便调用在一个额外的方法中(由构造函数调用)。然后在子类中覆盖该方法。在该重写方法中添加或更改事件处理程序,然后调用基类的方法(super.methodName();)。
标签: typescript event-handling dom-events