Прилагается файл моего контроллера .. я в основном хочу переключать представления .. добавление и удаление панели в контейнере с 2 кнопками .. в методе для дома и популярной кнопки я использую Ext.create снова и снова не будет перегружать мое приложение becoz iam, не разрушая мои представления iam, добавляя и удаляя их. Мой главный вопрос: как я могу создать глобальный var для этой ситуации, как я создаю var homepanel = Ext.create только один раз и то я могу повторно использовать этот вар, когда я хочу, чтобы удалить или добавить его из моей mainContainer .. нужны серьезные рекомендации по этому вопросу .. обыскал всю, но я справку о не имею никакого понятия об этомsencha touch 2 оптимизация
Ext.define('app.controller.MainController', {
extend: 'Ext.app.Controller',
config: {
refs: {
homeBtn: '#homeBtn',
popularBtn: '#popularBtn',
homePanel: '#homePanel',
mainContainer: '#mainContainer'
},
control: {
homeBtn:{
tap: 'homeBtnAction'
},
popularBtn:{
tap: 'popularBtnAction'
}
}
},
launch: function(app) {
this.callParent(arguments);
console.log("main launched");
var mainCont = this.getMainContainer();
var homepanel = Ext.create('app.view.Home.HomePanel');
mainCont.add(homepanel);
console.log("homePanelAdded");
},
homeBtnAction: function(){
console.log("home page called");
var mainCont = this.getMainContainer();
var homepanel = Ext.create('app.view.Home.HomePanel');
var popularpanel = Ext.create('app.view.Popular.PopularPanel');
mainCont.remove(popularpanel);
mainCont.add(homepanel);
},
popularBtnAction: function(){
console.log("popular page called");
var mainCont = this.getMainContainer();
var homepanel = Ext.create('app.view.Home.HomePanel');
var popularpanel = Ext.create('app.view.Popular.PopularPanel');
mainCont.remove(homepanel);
mainCont.add(popularpanel);
}
});
ПРИМЕЧАНИЕ: Iam использует Ext.define для создания моих представлений и использования структуры MVC.
Я использую идентификатор, как мои кнопки имеют изображения, которая должна быть изменено на кране. Я также могу: mainCont.removeAll (true, true); Это удаляет любую существующую панель в моем mainCont, а также уничтожает их. Еще я приму свой ответ. Спасибо за дополнительную информацию. Я не знал этого var homepanel = this.getHomePanel() || Ext.create ('app.view.Home.HomePanel'); – kush