sencha如果不做设置,是一个framework页面,当点击浏览器返回或者Android的返回键的时候会跳出页面或整个程序
所以需要实现route路径
网上么有特别详细的说明,研究了很久分享一个
首先,需要在main的地方开始就加入历史路径。在app.js
launch: function() {
//增加历史路径,设定main为home
this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
url: 'home'
}));
//初始化main
Ext.create('MBAPeople.view.Main', {fullscreen:true});
}
其次,在controller中定义route事件
routes: {
'home': 'homejump',
'changepass':'changejump'
},
home 是名字,后面的是方法
changejump:function(){
var form = this.getChangepassword();
Ext.Viewport.setActiveItem(form)
},
homejump:function(){
var form = this.getMainview();
Ext.Viewport.setActiveItem(form)
},
然后,就在相应button的事件中调用
在点击changepassword按钮中写入不是setActiveitem,而是history
onBtnTap:function(){
this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
url: 'changepass'
}));
}
而在返回按键可以直接使用 history.back();
handler: function() {
history.back();
}
这样,在我们初始化main的时候,大家会发现首页地址为localhost/app/#home,而跳转页面地址为localhost/app/#changepass,成为了两个页面,自然可以实现返回按钮
所以需要实现route路径
网上么有特别详细的说明,研究了很久分享一个
首先,需要在main的地方开始就加入历史路径。在app.js
launch: function() {
//增加历史路径,设定main为home
this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
url: 'home'
}));
//初始化main
Ext.create('MBAPeople.view.Main', {fullscreen:true});
}
其次,在controller中定义route事件
routes: {
'home': 'homejump',
'changepass':'changejump'
},
home 是名字,后面的是方法
changejump:function(){
var form = this.getChangepassword();
Ext.Viewport.setActiveItem(form)
},
homejump:function(){
var form = this.getMainview();
Ext.Viewport.setActiveItem(form)
},
然后,就在相应button的事件中调用
在点击changepassword按钮中写入不是setActiveitem,而是history
onBtnTap:function(){
this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
url: 'changepass'
}));
}
而在返回按键可以直接使用 history.back();
handler: function() {
history.back();
}
这样,在我们初始化main的时候,大家会发现首页地址为localhost/app/#home,而跳转页面地址为localhost/app/#changepass,成为了两个页面,自然可以实现返回按钮