繁体   English   中英

在演示者之间传递控件/值,GWT Model View Presenter?

[英]Passing controls / values between presenters , GWT Model View Presenter?

菜鸟在这里。 在我的一个用例中,在使用GWT实现Model View Presenter Pattern时遇到了这个特定问题。

我只是从Ray Ryan的Google IO演讲开始,然后关注Google Developers网站上的一些文章。 我没有使用过GWTP或MVP4G或GIN之类的GWT附加组件或任何其他东西。 只是跟随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 ,因为只要历史记录发生更改,我最终都会创建一个演示者的新实例。

粗体字的所有内容都是单独的演示者,扩展了演示者,并且它们都有特定的视图。

有问题吗? 1.每次发生历史更改时,请帮助我摆脱创建演示者新实例的困境。

  1. MVP模式中是否有办法在值持续存在的演示者之间传递控件?

  2. 如何在事件触发时在应用程序控制器中加载演示者的现有实例?

  3. 如何在事件触发时在应用程序控制器中加载演示者的现有实例?

关于在演示者之间传递状态信息(问题1),签出Places可能会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM