我有一个基于super template的ionic 3应用程序。我已将根页面设置为以下内容:
<ion-tabs>
<ion-tab [root]="tab1Root" [tabTitle]="tab1Title" tabIcon="bonfire"></ion-tab>
<ion-tab [root]="tab2Root" [tabTitle]="tab2Title" tabIcon="search"></ion-tab>
<ion-tab [root]="tab3Root" [tabTitle]="tab3Title" tabIcon="cog"></ion-tab>
</ion-tabs>
当我按此页面上的后退硬件按钮时,什么也没有发生。但是,当我将内容更改为其他内容时,例如:
<p>Hello</p>
然后,如我所愿,退出硬件后退按钮。
如何在选项卡式页面上使硬件后退按钮正常工作,同时保留其他页面上的默认工作状态?
最佳答案
在您的app.component.ts
文件中
import { Nav, App } from 'ionic-angular';
export class MyApp {
@ViewChild(Nav) nav: Nav;
接着
platform.registerBackButtonAction(() => {
let nav = app.getActiveNav();
let activeView: ViewController = nav.getActive();
if(activeView != null){
if(nav.canGoBack()) {
nav.pop();
}else if (typeof activeView.instance.backButtonAction === 'function')
{
activeView.instance.backButtonAction();
}
else {
nav.parent.select(0); // goes to the first tab
}
}
});
希望这对您有所帮助,也不要忘记将其放置在平台内。
在您需要关闭应用程序的已修复ts文件中,编写一个功能
backButtonAction(){
this.platfrom.exitApp();
}
关于android - ionic 3选项卡的硬件后退按钮不会退出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48124237/