首页 文章

Ionic 2设备后退按钮阻止应用程序退出选项卡

提问于
浏览
0

我是离子框架的新手 .

我正面临关于ionic-2应用程序选项卡的问题,我在我的应用程序视图中有3个选项卡,一个是发现,其他人是人和消息...我遇到的问题是,当我在消息和人员选项卡上以及从我的手机返回时按钮我只是退出我的应用程序...我想要的是当我点击其他选项卡时我只是转到我的主页,这是发现页面,如果我按回然后我退出应用程序...任何人都有任何想法请告诉我,我会感激你...

2 回答

  • 0

    我这样解决了这个问题:

    import { Navbar, Platform } from 'ionic-angular';
    import { ViewChild } from '@angular/core';
    
    export class Some_Page_With_Your_Three_Tabs {
    
        public backButtonAction: any;
    
        tab1Root = MainTab;        // your first tab
        tab2Root = MessagesTab;    // your second tab
        tab3Root = PeopleTab;      // your third tab
    
        @ViewChild(Navbar) navBar: Navbar;
    
        constructor(public platform: Platform, public navCtrl: NavController, public navParams: NavParams) {
        }
    
        ionViewDidEnter() {
            this.backButtonAction = this.platform.registerBackButtonAction(() => { 
                this.customHandleBackButton();
            }, 10);
            this.navBar.backButtonClick = (e: UIEvent) => { 
                this.customHandleBackButton();
            };
        }
    
        private customHandleBackButton(): void {
            if (weCanLeave) {
                this.navCtrl.pop({ animate: false });
            } else {
                return;
            }
        }
    }
    
  • 0

    你可以通过注册一个新的backButton-Action来解决这个问题 . 在我的一个项目中,我用它来创建一个Alert,以防止用户关闭App . 您可以在当前页面上询问navCtrl,然后重定向用户,而不是关闭应用程序 .

    这是一个小小的片段,它可以引导您找到解决方案:

    this.platform.registerBackButtonAction(() => {
        let nav = this.app.getActiveNav();
        if (...){ // Ask what the current page is.
          // use setRoot on navCtrl to redirect to your preferred page
        }else{
          this.platform.exitApp();
        }
      });
    

相关问题