我在同一模块中有多个入口点。

例如,我有一个主页的主页入口点和一个管理员
管理页面的入口点。

<entry-point class='com.company.project.client.HomeModule'/>
<entry-point class='com.company.project.client.AdminModule'/>

我现在的设置方式-我需要在我的手机上检查像这样的somt
OnModuleLoad:
if((RootPanel.get("someHomeWidget")!=null)&&
  (RootPanel.get("someOtherHomeWidget")!=null))
{
  // do the stuff
}

为了在主目录下不执行管理员入口点
页面打开,反之亦然。

不执行上面的检查还涉及如果我有一个div与
无论我在哪个页面中注入(inject)主页和管理页面中的相同名称
它在每个页面上都显示两次。

这发臭了1000英里,显然是错误的:什么是正确的
如何在人们的体验中做到这一点?

任何帮助表示赞赏!

最佳答案

正确的方法是每个模块有一个入口点,将适当的小部件粘贴在适当的div中:

RootPanel panel = RootPanel.get("someHomeWidget");
if (panel) panel.add(new HomeWidget());

panel = RootPanel.get("adminWidget");
if (panel) panel.add(new AdminWidget());

这样,它仅扫描页面以查找您拥有的所有div并插入适当的小部件。因此,您的HTML页面可以确定何时显示哪些小部件,并且GWT代码已准备就绪,可以处理任何情况。上面没有什么令人讨厌的东西,这是应该编写您的入口点的方式。

替代方法是,如果您的管理区域和通常的区域完全不同(例如:您想在不同的时间加载它们),则它们应该是具有单独入口点的单独模块。

关于gwt - 同一模块中有多个入口点的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/929661/

10-12 17:37