我必须创建多层次的视图,例如。TopLevelView包含一系列的按钮水平放置(作为菜单).On点击按钮X-TopLevelView,它创建的anotherView调用MiddleView被附加到TopView的容器中。类似的MiddleView与TopView具有相同的结构。当我们点击一个buttonY-MiddleView,打开InnerLevel-View。
现在假设我们调用URL : 127.0.0.1:7777/demoapp#innerLevel
我认为流程如下
伪代码:
首先检查appController历史标记程序中的字符串innerLevel。
if ( token.equals("innerLevel"){
presenter = new TopLevelPresenter(eventBus,rpcService,new TopLevelView(),token);
presenter.go();
}现在TopLevelPresenter的构造者将通过创建MiddleLevel的事件if token.equals("innerLevel")
eventBus.fireEvent(MiddleLevelEvent);MiddleLevelEvent应包含较低级别的名称。
再次在应用程序控制器中,我将检查历史标记程序。
if ( token.equals("middleLevel"){
presenter = new MiddleLevelPresenter(eventBus,rpcService,new MiddleLevelView(),**what to pass here**);
presenter.go();
}但我感觉我的方法,我一直认为不是good.Can,谁能告诉我什么是标准的方式使用多级视图在GWT应用程序中使用MVP。
发布于 2014-11-01 01:12:59
当我第一次开始使用places时,我和你走了同样的路,但我很高兴找到了Thomas Broyer很好地记录的解决方案。这个想法需要更多的代码,但使您的代码更加清晰和灵活。您需要为显示的不同区域创建多个ActivityMappers。这听起来很复杂,但一旦你尝试一下,你就会发现它对几乎任何一种布局都很有效。令牌的概念是一个新颖的概念,但在我的经验中会让你头疼。
GWT 2.1 Activities – nesting? YAGNI!
https://stackoverflow.com/questions/26670616
复制相似问题