这里是菜鸟。在我的一个用例中使用 GWT 实现模型视图演示者模式时,我遇到了这个特定问题。
我刚从 Ray Ryan 的 Google IO 演讲开始,并关注了 Google Developers 网站上的一些文章。我没有使用任何 GWT 附加组件,例如 GWTP 或 MVP4G 或 GIN 或任何其他东西。只是按照 GWT 网站上的联系人示例并尝试为我的案例建模。
这就是问题所在。
我有这样的 AppController onValueChage 方法
public void onValueChange(ValueChangeEvent<String> event) {
if(token != null){
presenter = null;
if(token == "display")
{
presenter = new DefaultPresenter(rpcService, eventBus, new DefaultView());
}
else if(token == "popup")
{
presenter = new PopUpPresenter(rpcService, eventBus, new PopUpView());
}
else if(token == "dialog")
{
presenter = new DialogPresenter(rpcService, eventBus, new DialogView());
}
if (presenter!= null) {
presenter.go(container);
}
}
}
我的应用程序是这样流动的,首先显示,然后在那里进行选择会导致一个对话框,然后对话框设置一些变量。然后在对话框被隐藏后,我需要回到原来的显示并继续。但问题是我无法以相同的视图返回到我原来的DisplayPresenter,因为每当历史发生变化时,我最终都会创建一个新的演示者实例。
所有以粗体显示的东西都是独立的 Presenter,它们扩展了Presenter ,它们都有特定的视图。
问题 ?1. 每次历史发生变化时,帮助我摆脱创建演示者新实例的困境。
MVP 模式中有没有一种方法可以在具有持久值的演示者之间传递控件?
如何在事件触发时在应用控制器内加载演示者的现有实例?
- 如何在事件触发时在应用控制器内加载演示者的现有实例?