How to destroy an inactive view in Sencha Touch

Phil picture Phil · May 11, 2012 · Viewed 16.5k times · Source

i stuck with a problem which is really important i guess. In a simple Sencha Touch App I have many views. My Mainview is a TabPanel with docking icons in the bottom. Sometimes in my App I switch to another views which are outside of the Tabpanel. I don't want the DOM to overload with views, i don't need anymore so i'm searching for a solution to destroy a view, when its inactive. I've tried this, while switching into another view in my controller:

this.getMainview().destroy();

It seems that the Mainview gets deleted but I get an error:

Uncaught TypeError: Cannot read property 'dom' of null

So i guess something's wrong with the .destroy() - Method or is there a better way to handle this problem?

Answer

Sagar Modi picture Sagar Modi · May 11, 2012

Before moving to new view you can call bellow code to remove current view

Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true);  

or you can also provide item object instead ActiveItem