我在优化我的Sencha Touch 2口供时多次面对这一问题。
It s obvious that I should keep the DOM light-weighted, my application contains an Ext.TabBar
and a main Ext.Container
above. Everytime when switch from a view to another, I simply remove current view and add new view to that Container.
但是,问题在于,有一些观点已经cus化数据。 我指的是他们有内部数据,如html的内容、过滤的储存记录等。 当我把他们从我的主要集装箱中搬走时,我想将他们的“状态”拯救到全球变量,例如: Im与产品进行电子交换,并附上细节。 在从主要集装箱中删除详细小组时,我想做这样的事情:
var saved_detail_panel = mainContainer.getActiveItem();
如果我能够这样做,那么,在我想把这个细节重新添加到主要集装箱时,我只能使用:
mainContainer.add(saved_detail_panel);
I ve tried many times but could not find one that works yet.
非常感谢任何帮助。 谢谢。
Updated: When I put this code in my event handler in a controller:
var temp = Ext.create( taxi.view.location.LocationPanel , {showAnimation: null});
taxi.main_container = temp;
它运作良好,但不是干.。 我想要做的是,在我的<>申请.js上只创造一席之地。
launch: function(){
var temp = Ext.create( taxi.view.location.LocationPanel , {showAnimation: null});
};
and only use this in Controller:
taxi.main_container = temp;
它第一次运作。 但第二次出现这一错误:
Uncaught TypeError: Cannot call method replaceCls of null