我正在向我的应用程序视口添加内容,如下所示:
Ext.Viewport.animateActiveItem(item, {transition})
我正在寻找一种方法来“回到”最后一个视图。这可能,或者视口是否会破坏最后一个视图?
答案 0 :(得分:2)
为什么不使用内置的历史记录支持?您可以像这样在历史记录对象中添加一个条目:
this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
url: 'dashboard'
}));
调用该函数后,它将更改应用程序的URL哈希值。您可以使用控制器中的路由来获取事件...将其添加到配置中,如下所示:
config: {
routes: {
'dashboard': 'showDashboard'
},
control: {
//controls...
}
},
Sencha Touch将识别URL更改并查看您的路线以调用如下函数:
showDashboard: function() {
Ext.Viewport.animateActiveItem(item, {transition});
},
使用此方法,本机后退按钮将带您返回上一个视图,您还可以调用要转到的视图等...在此处查看历史记录对象的文档:http://docs.sencha.com/touch/2-0/#!/api/Ext.app.History < / p>
答案 1 :(得分:1)
答案 2 :(得分:0)
Ext.app.Action是一个私有Sencha类,因此无法保证在将来的版本中存在。更好的方法是替换......
this.getApplication().getHistory().add(Ext.create('Ext.app.Action', {
url: 'dashboard'
}));
有了......
this.getApplication().redirectTo('dashboard');
如果它实现了toUrl()方法,你也可以传递一个Model对象......
this.getApplication().redirectTo(myModelObj);
如果需要,您现在可以使用以下内容返回:
history.back();
请参阅触摸历史记录指南: