【问题标题】:How to switch to a different view and controller in GWT?如何在 GWT 中切换到不同的视图和控制器?
【发布时间】:2010-09-02 13:17:28
【问题描述】:

我有一个用 GWT 编写的小部件。在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);

    }
}

类似上面的东西。现在我想更改视图和控制器,例如用户是否单击按钮来加载不同的视图。我尝试了添加 Anchor 和处理 ClickEvent 的方法,如下所示:

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

这是执行此操作的正确方法,还是有更好的方法?到目前为止,这对我不起作用——我的新视图没有显示出来。

谢谢

【问题讨论】:

    标签: gwt views widget


    【解决方案1】:

    您可以使用DeckPanel 并使用showWidget(index) 方法切换视图。启用甲板面板的动画可以提高可用性。

    【讨论】:

      【解决方案2】:

      您的 OnClick 事件中的面板是什么?如果您只想查看视图,您可以获取根面板并查看它 RootPanel.get().add(view),在基本 HTML 页面中添加 div 可能会达到您的目的,如果您有 div,则可以添加您的视图通过 RootPanel.get("div").add(view) 在该 div 中...

      【讨论】:

        【解决方案3】:

        你可以使用mvp模式来控制视图转换(我还没用过)

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

        【讨论】:

          猜你喜欢
          • 2012-06-21
          • 2020-10-02
          • 1970-01-01
          • 2021-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多