如何在Ionic 3中覆盖硬件后退按钮动作?

时间:2019-03-09 20:16:23

标签: ionic-framework button ionic2 ionic3 back

我想知道在ionic 3中默认单击ion-navbar后退按钮时会调用哪个函数。 我想在单击硬件后退按钮时调用相同的功能。

1 个答案:

答案 0 :(得分:3)

您可以使用 registerBackButtonAction 中的 Platform Service 。 您可以在 app.component.ts 中覆盖硬件后退按钮操作,如下所示。 请记住在registerBackButtonAction之后致电Platform.ready()

import { Platform, App } from 'ionic-angular';

@Component({
  templateUrl: 'app.html'

})
export class MyApp {

  constructor(public platform: Platform, private app: App) {

    this.platform.ready().then(() => {

      this.platform.registerBackButtonAction(() => {

          let nav = this.app.getActiveNav()

          if (nav.canGoBack()) {
            // If there are pages in navigation stack go one page back
            // You can change this according to your requirement
            nav.pop();

          } else {

            // If there are no pages in navigation stack you can show a message to app user
            console.log("You cannot go back");
            // Or else you can exit from the app
            this.platform.exitApp();
          }
      });
    });
  }
}

希望这会对您有所帮助。