每页有两个复合材料的网站.由于设计不良



我首次使用GWT创建网站。Aplication有两个复合类,其中一个是菜单,另一个是我显示有关已单击的特定菜单的信息。我正在使用MVP,类历史记录和接口ChangeValueHandler在不同页面之间切换。

我为每个复合材料有一个对主持人视图。该应用程序可以很好地创建菜单和部分信息。当您单击菜单时,它可以很好地显示信息,并且更改了令牌浏览器。问题是,如果您加载页面(例如:myapp.com#nopply)而不加载主页,则不会向您显示菜单。它加载了复合部分信息,但没有复合菜单(复合菜单是加载MyApp.com#home)。

我认为这是因为应用程序的设计不好,但是我不知道如何以其他方式做到这一点。如果该应用只有一个复合材料,那将不是问题,但是当每个页面有2个或更多的复合材料时,我不知道如何管理整个过程以正常工作。

由于缺乏代码,很难说出到底出了什么问题。所以我猜。您应该设计以在placechangeevent而不是ValuechangeEvent上行动。这意味着菜单点击应启动该地点更改,然后该应用程序将处理此事件。这样,您可以将菜单操作从内容页面上删除。并将每个页面的更多视为单独的实体。还要查看GWT活动机制,以及它如何帮助拥有始终相同的主页,在该主页上,内容区域根据实际显示的页面而更改的内容区域。

您应该在每个页面中包括您的菜单,而不是在主页中创建一次,然后将其保存在屏幕上。我假设您创建菜单并通过

将其添加到DOM
RootPanel.get().add(myMenuWidget); 

如果您使用的是Uibinder,则在每个页面中包括菜单应该很简单,只是在您的页面的每个.UI.xml文件中添加相应的标签。

最新更新