我正在使用sencha touch 2 MVC应用程序。在我的app.js文件中,我没有launch()方法和
controllers: ['HomeController'],
和我的HomeController路线
routes: {
'': 'viewHomePage', //1st page
'ap': 'viewContactPage', //2nd page
'ap/:id': 'viewContactPageById' //3rd page
//others
}
在第2页和第3页我有一个按钮
xtype:'button',
listeners: {
tap: function () {
history.back();
}
}
现在问题是history.back()在page2的情况下不起作用。但它很好地适用于第3页。
如果是特殊情况,那么如何重启我的应用程序。
如果它在MVC的情况下不起作用那么什么是soln? 或者还有其他办法吗?
答案 0 :(得分:2)
抱歉,Chris,但history.back()可以与Sencha Touch 2应用程序一起使用。只要你的控制器使用redirectTo(url),标准的history.back()就会按预期运行。
因此,如果在控制器中您从当前URL重定向到另一个,则在重定向之后使用history.back()将返回到原始URL。
答案 1 :(得分:0)
如果您复制旧按钮及其点按事件,则会导致出现此问题的命名冲突。
将所有新按钮重命名为唯一名称,然后删除并再次创建点击事件
答案 2 :(得分:-1)
history.back()重定向到上一个网址。 sencha touch应用程序包含在单个URL中,没有任何重定向。它通过彼此堆叠一堆容器来工作。但是,它们都包含在同一页面中,因此history.back()将不起作用。
您需要更改在sencha触摸应用中考虑重定向的方式。基本上,为了“回”,你需要切换视图。您可以使用以下代码执行此操作:
Ext.Viewport.setActiveItem({
xtype: 'yourxtype'
});
此代码将视图从当前视图切换到您选择的xtype。