Sencha View页面的push方法使用


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

}

作者:过去的我
原文:http://blog.csdn.net/dats0407/article/details/7682845