【发布时间】:2012-05-19 21:27:21
【问题描述】:
附件是我的控制器文件..我基本上想切换视图..在带有 2 个按钮的容器中添加和删除面板..在主页和流行按钮的方法中我一次又一次地使用 Ext.create 不会这使我的应用程序过载,因为我不会破坏我的视图,而是添加和删除它们.. 我的主要问题是 我如何为这种情况创建全局 var,就像我只创建一次 var homepanel = Ext.create然后当我想从我的 mainContainer 中删除或添加它时,我可以重用该 var .. 需要对此进行认真的指导 .. 搜索了整个文档,但我对此一无所知
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);
}
});
注意:我使用 Ext.define 创建视图并使用 MVC 结构。
【问题讨论】:
标签: sencha-touch-2