【发布时间】:2014-02-27 13:50:22
【问题描述】:
我有一个包含几个组件的自定义面板,例如。一个按钮和一个文本框。
单击按钮后,我希望作为父面板的自定义面板接收事件并决定做什么,例如在文本框上调用 setText。
是否可以使用事件总线来实现这一点?
这意味着子组件不需要处理它们的事件然后中继它。
【问题讨论】:
-
您为什么要这样做?您将不得不编写更多的代码,而不仅仅是将处理程序附加到您的 Button 和 TextBox。通常,当您有跨不同视图工作或影响多个小部件的事件时,您需要一个 EventBus。
-
EventBus 不是这个用例的解决方案。您需要在 Presenter 中管理此逻辑。您在按钮上添加 ClickHandler,然后在 OnClick 方法中更新它应该更新的内容。为什么需要通知专家组?