【问题标题】:GWT multiple modules. Specific case of reuse of existing componentsGWT 多个模块。现有组件重用的具体案例
【发布时间】:2014-11-06 10:26:02
【问题描述】:

另外,如果多个模块有很多线程,我找不到任何帮助。

我有两个模块,第二个继承第一个,因为它使用客户端组件,并且只是用于特定用途的单独入口点。 第二个模块自然有他自己的 html 页面指向相关编译的 js,但是......并不奇怪......当我开始第二个页面时,两个入口点的 onModuleLoad 都会被触发,首先是第一个模块因为继承,然后是第二个。

问题:由于 onModuleLoad,正如教程和模板所建议的那样,在我启动第一个模块 html 页面时实现了页面创建,一切正常,但是当我启动第二个模块页面时,我有页面的垂直“总和”只是我的渲染。 我想我可以设置一个会话或处理地址或使用获取参数来避免继承模块呈现页面,但这没有什么问题吗?在不呈现相关页面的情况下重用现有模块的最佳策略是什么?

更新:

xml 文件看起来都像

 <module rename-to="ModuleA">
     <inherits name="com.google.gwt.user.User" />
     <inherits name="com.google.gwt.user.theme.standard.Standard" />
     <entry-point class="com.test.client.ModuleA" />
 </module>

并且两个 onLoad 方法都会创建页面,类似于

    rootPanel = RootPanel.get();
    rootPanel.setPixelSize(Window.getClientWidth(),  Window.getClientHeight());
    Label widget=new Label("hello");
    rootPanel.add(widget);

编辑: 为了解决这个问题,我只创建了 3 个模块而不是 2 个:一个核心模块,它在卸载过程中什么都不做,包含所有公共部分,一个模块 A 渲染第一种页面应用程序,一个模块 B 在卸载过程中进行另一个渲染.这样A和B之间没有干扰,因为Core在卸载时没有渲染完全没有问题

【问题讨论】:

  • 正确的解决方案。您可以将其发布为您自己问题的答案并接受它。

标签: gwt


【解决方案1】:

为了解决这个问题,我只创建了 3 个模块而不是 2 个:一个在 onload 中不执行任何操作并包含所有公共部分的核心模块,一个渲染第一种页面应用程序的模块 A 和一个执行另一个渲染的模块 B在加载中。这样 A 和 B 之间没有干扰,因为 Core 没有在 onload 中渲染,所以完全没有问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2017-04-25
    • 1970-01-01
    • 2015-10-28
    相关资源
    最近更新 更多