2014-02-11 77 views
1

如何正確銷燬Ext js 4.2內的組件根據文檔: http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.Component沒有銷燬方法。我的組件是一個容器的子組件,所以我嘗試了container.remove('componentReference'),但是這給了我意想不到的行爲,所以有什麼方法可以刪除組件本身。Ext js 4.2銷燬組件

+0

有但它是私人的(點擊右上角的「顯示」按鈕)。你仍然可以使用它。 – leaf

+0

這肯定不是推薦的方式,我想 – Jacob

+0

我想是的。一個私有方法旨在被內部訪問,從同一個類的其他方法引用它。所以,你可以通過從實例中調用它來破壞規則,或者你可以使用推薦的方法來創建Component類的子類。 – leaf

回答

3

組件從其擁有的容器中移除時通常會被銷燬,除非您將容器配置爲不這樣做。

請參閱autoDestroy config和remove函數Ext.container.AbstractContainer

此外,對於Ext.panel.Panel和擴展它的類,有一個close函數,除非指定了不同的closeAction,否則這也會導致組件被破壞。也就是說,可能會出現這樣的情景,它可以直接調用組件的destroy函數,儘管它被標記爲私有,例如,當它從未被渲染時(無論出於何種原因)。