Angular 如何在ionic3中单击设备后退按钮从tab2导航到tab1

Angular 如何在ionic3中单击设备后退按钮从tab2导航到tab1,angular,tabs,ionic2,stack,ionic3,Angular,Tabs,Ionic2,Stack,Ionic3,我正在关注这一点 登录后,我使用此键导航到下一页this.navCtrl.setRoot(“选项卡”)我会自动看到“主页”选项卡/tab1在“我的选项卡”中被选中 我一共有5个标签Tab1,Tab2,Tab3,Tab4,Tab5 正在选择初始选项卡1。当我导航到任何选项卡(如Tab2/Tab3)并单击设备后退按钮时,我无法导航到上一个选项卡 我的理解: 因为我有5个选项卡,所以当每个选项卡都被选中时,新的堆栈被启动 我相信我必须导航到堆栈到堆栈,如果可能的话,任何一条建议都会对我有所帮助 试试这

我正在关注这一点

登录后,我使用此键导航到下一页
this.navCtrl.setRoot(“选项卡”)我会自动看到“主页”选项卡/tab1在“我的选项卡”中被选中

我一共有5个标签Tab1,Tab2,Tab3,Tab4,Tab5

正在选择初始选项卡1。当我导航到任何选项卡(如Tab2/Tab3)并单击设备后退按钮时,我无法导航到上一个选项卡

我的理解:

因为我有5个选项卡,所以当每个选项卡都被选中时,新的堆栈被启动

我相信我必须导航到堆栈到堆栈,如果可能的话,任何一条建议都会对我有所帮助

试试这个:

在tabs.html中

<ion-tabs #myTabs>
    ...
</ion-tabs>

如果通过true,它将记住以前的所有历史记录;如果通过false,它将只记住以前的选项卡。

我认为这可能会有所帮助。只需点击“返回”按钮并选择“上一个选项卡”即可使用它。任何示例都会对@duanx大有帮助
  @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
      })
    })
  }
let tabPrv = this.tabRef.previousTab(true); //Remember pass true
if (tabPrv) this.tabRef.select(tabPrv.index);