GWTP的MVP:Presenter不成比例

时间:2011-12-06 02:23:15

标签: gwt gwt-platform

我有一个包含菜单的视图,它允许您根据点击的位置浏览5个不同的部分。当您单击时没有更改页面时,您将隐藏其他部分并显示您询问的部分。要求所有事情都发生在同一个地方。

从视图简单而干净,因为每个部分都是不同的类,并且在视觉上它们是互斥的。我通过“获取”部分本身来访问每个部分的控件

从Presenter乱七八糟,我必须在onBind()方法上为该单个presenter类的所有5个部分注册处理程序,并且事件的所有逻辑也都在那里,事件处理程序开始与相似的名字冲突。

我如何在使用视图时分解Presenter?

查看示例

public interface MyView extends View { 

    public DeviceSettings getDeviceSection();       

    public Reports getReportsSection(); 

    public License getLicenseSection(); 

    public Support getSupportSection();

}

1 个答案:

答案 0 :(得分:1)

您可以为每个部分创建PresenterWidgets/Views,然后将其注入MainPresenter 您可以在菜单中添加处理程序,然后根据单击的内容添加/删除相应的PresenterWidget到内容插槽。
您可以查看nested presenter示例。