Ionic 2 设备后退按钮阻止应用程序在选项卡中退出
Ionic 2 device back button prevent app exit in tabs
我是离子框架的新手。
我遇到了关于 ionic-2 应用程序选项卡的问题,我的应用程序视图中有 3 个选项卡,一个是发现选项卡,其他是人员和消息……我遇到的问题是,当我在消息和人员选项卡上时从我的 phone 后退按钮按下我只是简单地退出我的应用程序......
我想要的是,当我点击其他选项卡时,我只需转到我的主页,即发现页面,如果我按回去,我会从那里退出应用程序……任何人对此有任何想法,请告诉我,我将不胜感激你……
您可以通过注册新的后退按钮操作来解决此问题。在我的一个项目中,我用它来创建一个警报,以防止用户关闭应用程序。你可以询问 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();
}
});
我是这样解决这个问题的:
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;
}
}
}
我是离子框架的新手。
我遇到了关于 ionic-2 应用程序选项卡的问题,我的应用程序视图中有 3 个选项卡,一个是发现选项卡,其他是人员和消息……我遇到的问题是,当我在消息和人员选项卡上时从我的 phone 后退按钮按下我只是简单地退出我的应用程序...... 我想要的是,当我点击其他选项卡时,我只需转到我的主页,即发现页面,如果我按回去,我会从那里退出应用程序……任何人对此有任何想法,请告诉我,我将不胜感激你……
您可以通过注册新的后退按钮操作来解决此问题。在我的一个项目中,我用它来创建一个警报,以防止用户关闭应用程序。你可以询问 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();
}
});
我是这样解决这个问题的:
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;
}
}
}