Отключите кнопку возврата устройства Android, пока ионный LoadingController не закроется

Мы работаем над родным мобильным приложением. В приложении более 10 страниц.

Код загрузчика: //LoaderService

    this.loader = this.loadingCtrl.create({
          content: "Loading",
          //duration: 2000,
        });
        return this.loader;
this.loader = this.LoaderService();
this.loader.present();//Loader start
his.loader.dismiss();//Loader Stop

Загрузчик мы используем каждую страницу. Если загрузчик открыт в это время, пользователь нажимает кнопку "Назад", функция кнопки "Назад" работает, она переходит к другому загрузчику страниц и переходит на следующую страницу.

Нам нужно, если код кнопки открытия назад загрузчика перестал работать

Код кнопки возврата app.component.ts

if (this.platform.is('android')) {
        this.platform.registerBackButtonAction((e) => {
            //my code
          });
        }

Мы попробовали один из способов, например, поставить флаг true, пока присутствует загрузчик. Пока отклонить set flag false. Но мы не можем изменить каждую страницу. Дайте мне любую идею на этот счет.

1 ответ

Просто определите avarible для хранения, показывает ли загрузка или нет, и включите функцию присутствия и отклоните в вашем сервисе

LoaderService

loader: any;
isShowLoading: false;
constructor(){
   this.loader = this.loadingCtrl.create({
       content: "Loading",
   });
   this.loader.onDidDismiss(()=>{
        this.isShowLoading = false; //loader dismissed
    })
}

showLoading(){
    this.loader.present();
    this.isShowLoading = true;
}

hideLoading(){
    this.loader.dismiss();
    this.isShowLoading = false;
}

SomeComponent

this.platform.registerBackButtonAction((e) => {
     return !this.loaderService.isShowLoading
}); 
Другие вопросы по тегам