4

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

所以我的问题是:我应该以什么方式Ext.Container有效地添加/删除项目?我的意思是:快,不会导致内存泄漏,也不会导致像这样的错误:首先添加的带有按钮的视图,所有处理程序(通过控制器定义refs)运行control良好,但第二次(即它被删除并稍后再次添加),所有处理程序都死了。

提前致谢!

4

1 回答 1

6

您必须确保您销毁的面板被销毁,否则它将坐在 dom 中。

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

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

于 2012-04-20T17:34:41.143 回答