【问题标题】:How to navigate from tab2 to tab1 on clicking device back button in ionic3如何在离子 3 中单击设备后退按钮时从选项卡 2 导航到选项卡 1
【发布时间】:2018-04-14 17:49:25
【问题描述】:
我正在关注这个https://ionicframework.com/docs/components/#tabs
登录后,我使用此键导航到下一页 this.navCtrl.setRoot("tabs"); 我会自动看到在我的选项卡中选择的主页选项卡/tab1。
我总共有 5 个标签 Tab1、Tab2、Tab3、Tab4、Tab5。
初始 Tab1 被选中。当我导航到任何选项卡(如 Tab2/Tab3)并单击设备后退按钮时,我无法导航到上一个选项卡。
我的理解:
因为我有 5 个选项卡,所以当每个选项卡被选中时,新堆栈就会启动。
我相信我必须导航到 Stack to Stack 是否可能,如果可以,任何建议都会对我有所帮助。
【问题讨论】:
标签:
angular
tabs
ionic2
stack
ionic3
【解决方案1】:
试试这个:
在 tabs.html 中
<ion-tabs #myTabs>
...
</ion-tabs>
在 tabs.ts 中
@ViewChild('myTabs') tabRef: Tabs;
constructor(public navCtrl: NavController, public platform: Platform) {
platform.ready().then(() => {
platform.registerBackButtonAction(() => {
let tabPrv = this.tabRef.previousTab(false);//Remember pass false
if (tabPrv) this.tabRef.select(tabPrv.index);//Here you go back to prv Tab
return false;//Make sure return false to prevent exit app
})
})
}
【解决方案2】:
let tabPrv = this.tabRef.previousTab(true); //Remember pass true
if (tabPrv) this.tabRef.select(tabPrv.index);
如果您传递 true,它将记住所有以前的历史记录,如果您传递 false,它将只记住以前的选项卡。