0

GWT文档附带一个关于如何在此处MVP使用该模式的教程。在此示例中,有两个视图,每个视图都根据用户操作替换另一个视图。

view在这些相当简单的视图中,将所有仅包含在一个类 ( ) 中的小部件塞入其中并没有太大的坏处view。但是对于一个复杂的view,人们想为组件创建单独的 s(每个这样的组件view都有一个对应的),然后将这些s 组合成整体s(这个组合可能有也可能没有单独的组合,因为所有子视图已经有对应的)。有点类似于在扩展的单独类中创建单独的小部件,调用它们,并像在主面板中一样使用它们。presenterviewviewviewviewpresenterpresentersCompositeinitWidgetmainPanel.add(new subPanel())

那么有可能在MVP模式中做这样的事情GWT吗?

4

1 回答 1

1

DOM不,如果你一次性完成整个负载,即使你if else在里面设置了条件。

在使用 MVP 构建大型应用程序时GWT,必须使用 MVP 和代码拆分——否则,整个应用程序(即 JavaScript 包)会在应用程序的初始加载时以一个块的形式下载,这对于沮丧的用户来说是一个好方法!

通过使用标准 MVP,您可以

Isolate of User Interface from Business tier

Easily interchangeable Views (user interfaces)

Ability to test all code more effectively 

我想你期待如下

public class MainPageView extends ViewImpl implements MainPagePresenter.MyView {


    @UiField
    public HTMLPanel mainMenuPanel;

    @UiField
    public HTMLPanel mainContentPanel;

    @UiField
    public HTMLPanel mainFooterPanel;

.
.
.
.
.etc

是的,除了上面显示的面板,您还可以使用内部包含一些元素的类。

更新:

mainMenuPanel 可以像 mainMenuPanel.add(new MyheaderClass()) 这样添加你的类。where MyheaderClassextends of Panelor Widget.So 将 Class 中的所有元素添加到 mainMenuPanel

Inside your MyheaderClass class you may add labels, buttons ...etc by using this.add(mybutton)..etc

于 2013-02-12T05:35:55.093 回答