Ext JS中的事件驱动编程



我正在开发一个应用程序,其中来自不同插件的不同小部件将被加载到主机中,并且它们彼此不知道。所以我想使用 EDP 并在一个小部件中引发一个事件(例如,UserDelete),在另一个小部件中,订阅该事件(著名的发布者/订阅者,或者让我们更具体地获得观察者模式)。

在jQuery中,我使用trigger()和bind()方法来完成此操作。但是,我无法在Ext JS中找到任何等效的东西。我错过了什么吗?或者是否有任何其他模式可以在 Ext JS 中创建松散耦合的 UI 小部件?

如果你的小部件彼此不了解,你需要使用中介器模式。

看起来Ext.util.Observable就是你要找的。

自 ExtJS 4.x 以来,Sencha 引入了控制器的概念,该控制器以 MVC 应用程序的干净系统模式侦听事件。在此方案中,您的组件将触发事件(内置或自定义),控制器将响应这些事件。

要触发自定义事件,您可以在 Observable 类上使用 fireEvent 方法,该类几乎由所有其他 ExtJS 类继承。

最新更新