sencha规定push(),pop()方法效果很好,但只能使用在Ext.navigation.View类型的页面里进行,如何能使用它呢?sencha的example里其实也有这种用法。
即时,在引入的第一个view,做空箱子,把别的不是Ext.navigation.View类型的页面push或者pop进来,比如:在app.js处引入了Main这个navigation类型的view :
Ext.define("campSite.view.Main", {
extend: 'Ext.navigation.View',
requires: [
'Ext.form.Panel',
],
xtype : 'mainView',//定位,controller通过这个侦听,获取
config: {
autoDestory : false,
items : [{
xtype:'user_form'//引入xtype为user_form的view,当然先要包含这个view才能引用
}]
}
});
在controller里,设置侦听:
refs : {
submit : 'button[action=submit]',//侦听button类,action=submit的按钮
main : 'mainView',//侦听xtype='mainView'的view
},
control : {
submit : {
tap : 'onSubmit'//点击的时候触发onSubmit函数
}
}
onSubmit : function(th){
this.payment = Ext.create('campSite.view.Payment');//创建一个view,当然也要在app.js里面,包含有这个view
this.getMain().push(this.payment);//get获取上面refs定义的main,这是一个navigation 类型的view,可以使用push
}