我有一个 Dojo 1.9 + Dijit Web 应用程序的基本场景:
- 通过网络请求 JSON 数据
- 在成功回复时,我解析 JSON 数据并保存到应用程序模型
- UI 监视模型,当有数据时,它会创建新的自定义
dijit/_WidgetBase
实例来显示数据。 - 每个自定义 Dijit 小部件都插入到
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
因此文档片段方法不起作用。
我怎样才能实现我的目标?