禁用android设备后退按钮,直到离开LoadingController关闭

时间:2018-02-22 06:42:24

标签: angular ionic2 loader back-button

我们致力于离子原生移动应用程序。在应用程序中有超过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
          });
        }

我们尝试了一种方式,比如put flag true,当加载器存在时。虽然dismiss set flag false。但是我们不能改变每一页。给我任何想法

1 个答案:

答案 0 :(得分:2)

只需定义可存储是否存在装载并在您的服务中包装存在和解除功能

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
});