我正在尝试学习 GWT 推荐的 MVP 和他们的活动和地点 API(是的,我知道它们是两个不同的东西,但它们似乎很好地相互配合)。
在很多活动/地点的代码示例中,我一直在AbstractActivity
impls 中看到以下类似代码:
@Override
public void start(AcceptsOneWidget containerWidget, EventBus eventBus) {
view.setPresenter(this);
containerWidget.setWidget(view.asWidget());
}
我相信第一行 ( view.setPresenter(this);
) 是在 View 和 Presenter 之间创建双向性。但我不确定第二行 ( containerWidget.setWidget(view.asWidget());
) 完成了什么。所以,2个问题:
- 是什么
containerWidget
?它从何而来?它是附加到的RootPanel
吗?换句话说,将我们的 View 设置为它的价值是什么? - 为什么该
AbstractActivity#start(...)
方法接受EventBus
arg?从该方法内部向/从总线发送/接收事件是否需要和/或典型?