代码之家  ›  专栏  ›  技术社区  ›  Cuga

如何在GWT中切换到不同的视图和控制器?

  •  1
  • Cuga  · 技术社区  · 14 年前

    EntryPoint ,我让小部件加载一个控制器和一个绑定到该控制器的视图。我将这个视图添加到RootPanel,效果很好。

    public class EntryImpl implements EntryPoint {
    
      SimplePanel simplePanel;
      View view;
      Controller controller;
      public final void onModuleLoad()
        {
            controller = createController();
            view = createViewForController(controller);
            simplePanel = new SimplePanel();
            simplePanel.add(view);
            RootPanel.get().add(simplePanel);
    
        }
    }
    

    像上面那样。现在我想更改视图和控制器,比如说如果用户单击一个按钮来加载一个不同的视图。我尝试了添加锚点和处理ClickEvent的方法,如下所示:

    public void onClick(Widget sender) {
      simplePanel.remove(view);
      controller = createController();
      view = createViewForController(controller);
      panel.add(view);
    }
    

    谢谢

    3 回复  |  直到 14 年前
        1
  •  1
  •   morisil    14 年前

    你可以用 DeckPanel 并使用 showWidget(index)

        2
  •  0
  •   Saket Bansal    14 年前

    你的OnClick活动中的panel是什么?如果您只想查看视图,可以获取根面板并查看它根面板。获取().add(view),在基本HTML页面中添加一个div可以满足您的需要,如果您有div,您可以通过根面板。获取(“div”)。添加(视图)。。。

        3
  •  0
  •   david    14 年前

    您可以使用mvp模式来控制视图转换(我还没有使用它)

    http://code.google.com/intl/en/webtoolkit/articles/mvp-architecture.html