Posted by blogmeister on
October 15, 2012
This is a pretty common problem among newbies of Sencha Touch and I am sure that in your controller class, you used the component’s id to get a reference to it.
True, that way works but once the view is removed or hidden and destroyed, the link between the view and controller also is lost.
In my case, I overrode the initialize method of the view. Once I removed it and re-added it to the viewport, the function did not run anymore.
The culprit is due to the fact that I used the view’s id to get a reference to it.
To avoid this problem, it is best to use the xtype path to the component you want to get a reference of.
See this code as an example.
<strong><span style="color: #0000ff;">panel[id=myview] toolbar button[id=mybutton]</span></strong>
This means that the controller gets a reference to an Ext.tab.Panel class that contains an Ext.Toolbar with an Ext.Button in it with id mybutton. This is much better than just using id because it is more specific considering that you specified the exact path to the component.