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

时间:2017-11-02 09:07:43

标签: angular tabs ionic2 stack ionic3

我正在关注此https://ionicframework.com/docs/components/#tabs

登录后我使用此键导航到下一页this.navCtrl.setRoot("tabs");我会自动看到我的标签中选中的主页标签/标签1。

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

初始Tab1正在被选中。当我导航到任何选项卡如Tab2 / Tab3并单击设备后退按钮时,我无法导航到我之前的选项卡。

我的理解:

由于我有5个选项卡,所以当选择每个选项卡时,新的堆栈已启动。

  

我相信我必须导航到Stack to Stack才有可能,如果有的话,任何一条建议都会对我有帮助。

2 个答案:

答案 0 :(得分:0)

试试这个:

在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
      })
    })
  }

答案 1 :(得分:0)

let tabPrv = this.tabRef.previousTab(true); //Remember pass true
if (tabPrv) this.tabRef.select(tabPrv.index);

如果您通过true,它将记住所有以前的历史记录;如果您通过false,将仅记住以前的标签。