我有一个关于Dojo 1.9 + Dijit Web应用程序的基本场景:
dijit/_WidgetBase
实例以显示数据。dijit/layout/LayoutContainer
myLayoutContainer.addChild(customWidget);
醇>
一切正常,但我想提高渲染性能。
我注意到dijit/layout/LayoutContainer
是dijit/_Container
并且有自己的addChild(),它使用dojo/dom-construct.place()
直接更改DOM。
所以我想如果我将所有的customWidget实例添加到Document Fragment然后只需调用addChild()就可以将它添加到LayoutContainer中,我可以节省几毫秒。
但是dijit/_Container.addChild
需要类型为dijit/_WidgetBase
的窗口小部件,因此文档片段方法不起作用。
我怎样才能实现目标?
答案 0 :(得分:1)
您可以创建一个“容器”窗口小部件,其中包含创建子窗口小部件并将其附加到自身的所有逻辑。然后只将单个“父”窗口小部件添加到LayoutContainer。如果你想做的更少,你可以使用ContentPane作为“容器”小部件。
var contentPane = new ContentPane();
//multiple times
contentPane.addChild(...)
/layoutContainer in the page flow
layoutContainer.addChild(contentPane);
我无法评论这会如何改变表现。