在Sencha Touch 2中添加/删除Ext.Container中的项目的推荐方法?

时间:2012-04-20 17:29:00

标签: extjs sencha-touch sencha-touch-2

我正在优化我的应用程序。最初,它是Ext.TabPanel,但我决定只使用底部停靠的Ext.TabBar并更改上面的视图,因此需要从我的主Ext.Container进行大量添加/删除操作。

所以我的问题是:我应该以何种方式有效地添加/删除Ext.Container中的项目?我的意思是:快速,不会造成内存泄漏,而且,不会导致这样的错误:首先添加一个按钮的视图,所有处理程序(通过refscontrol定义一个控制器)工作得很好,但第二次(即它被移除并在以后再次添加),所有处理程序都死了。

提前致谢!

1 个答案:

答案 0 :(得分:6)

你必须确保你破坏了面板被破坏,否则它将坐在dom中。

通常,要从容器中删除组件,请使用Container remove()函数,该函数将第一个参数作为要删除的项目,第二个参数是一个布尔值,指示是否销毁它。您应确保将其设置为true,以确保尽可能保持DOM的精简。除非您将在不久的将来重新使用该组件并且不想再次渲染它,否则您不需要销毁它。

http://docs.sencha.com/touch/2-0/#!/api/Ext.Container-method-remove