Как переопределить действие аппаратной кнопки возврата в Ionic 3?

#ionic-framework #button #ionic2 #ionic3 #back

#ionic-framework #кнопка #ionic2 #ionic3 #Назад

Вопрос:

Я хочу знать, какая функция вызывается, когда мы нажимаем кнопку возврата ion-navbar по умолчанию в ionic 3. Я хочу вызвать ту же функцию при нажатии аппаратной кнопки возврата.

Ответ №1:

Вы можете использовать registerBackButtonAction службы платформы. Вы можете переопределить действие аппаратной кнопки возврата, как показано ниже, внутри 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();
          }
      });
    });
  }
}
  

Надеюсь, это вам поможет.

Комментарии:

1. Я вызывал registerBackButtonAction () с каждой страницы, а не с app.component.ts. Спасибо за вашу помощь.