假设您有一个包含选项卡式窗格的“显示区域”(AcceptsOneWidget
)。单击其他选项卡(即,从“ fantastico ”转到“配置文件”)会导致在窗格内显示全新内容。这似乎是codesplitting的完美用例,因为在用户单击“ profile ”选项卡之前,他们不需要下载显示它所需的代码。 (注意:如果任何GWT大师不同意并且不认为这是代码分裂的正确用例,那么请指出我的意思,但除了这个问题的重点之外,所以请你忍受我!)
现在,如果我对基本GWT架构的理解是正确的,那么显示“配置文件”选项卡所需的代码由Activity
组成( ies),Place
(s),也许是一些MVP的东西,例如Presenter
,Module
,EntryPoint
等等。当然这取决于应用程序和开发人员(正如我在GWT中学到的那样,有许多方法可以实现相同的目标),但无论如何,它都是一堆MVP / Activity / Place“东西”。为了这个问题,我喜欢this SO question的回答者提出的模型。
阅读this article on the AsynchProvider pattern后,我试图将所有这些最佳实践结合在一起,并实现一种架构:
AsynchProvider
模式;这允许它被划分,并且不依赖于其他片段我开始将所有部分放在一起,但仍然没有看到这两个概念如何在工作代码中绑定在一起。
我发现GWT是神秘的,强大而精彩的,但如果没有实用的代码示例,就很难学习。当然,这些线框在“ fantastico ”或“ profile ”窗格中并没有真正显示任何复杂性,所以请再次承担并假装这些都相当复杂显示具有大量丰富UI组件的区域。提前谢谢!
答案 0 :(得分:2)
如果显示区域 包含 tabpane,那么无论您使用的是活动还是地点都无关紧要。
要拆分标签内容,只需使用SimplePanel
作为真实的标签内容,并通过收听SelectionEvent
来加载其内容。
或者,您可以使用LazyPanel
createWidget
将返回SimplePanel
和异步加载其余代码。{/ p>