在非活动时销毁卡,在ExtJs中激活时实例化

时间:2014-06-06 10:29:36

标签: extjs extjs4.2 cardlayout

  

目标:提高应用的性能并减少加载时间。当卡处于活动状态时,我正在实例化它并创建其DOM,如 deferredRender:true 。现在我想破坏卡片,因为它变得不活跃以减少DOM。但是我在移除和再次实例化卡片时遇到了一些问题。

这是简单的小提琴,我根据我的布局结构创建了以下内容: Card Layout Fiddle

我经历了这个link,但没有理解这个实现。

  

根据张贴的小提琴,   1.作为defferedRender:true,第二张卡片没有渲染。精细。

     

2.一旦切换到card2,应该销毁card1并清除其DOM,这是不会发生的。

请帮我解决这个问题。如果我在某个地方出错了,请指出正确的方向帮助我.Thnks。

1 个答案:

答案 0 :(得分:1)

我不相信这种方法会改善性能。首先,当前浏览器中最昂贵的操作是DOM操作。如果您的卡很复杂,Destroy可能意味着删除许多元素,重新创建意味着插入许多元素。

然后,如果你真的只想在DOM中存在活动卡,那么你就不需要卡片布局了,因为你只有一张卡片而且卡片布局设计用于更多卡片,一次可见一张卡片。此外,隐藏活动卡并显示非活动卡应该更快,而不是销毁和重新创建。

如果您仍想使用destroy / create route,请使用fit布局。它更简单,只能有一个项目,如果你销毁/创建它可能比卡片快一点。