【问题标题】:Ionic 3 LoadingController removeView was not found找不到 Ionic 3 LoadingController removeView
【发布时间】:2019-05-07 16:42:14
【问题描述】:

我正在制作一个 ionic 3 应用程序,并希望在每个导航中添加一个加载微调器。所以我创建了一个 loadingService 并将其添加到我的 navigationService 中,以便自动处理所有导航。

为了启动和停止加载程序,我使用了:

export class LoaderService{
    loading: Loading;
    constructor(public loadingCtrl: LoadingController ){
        this.loading = this.loadingCtrl.create({
            spinner: 'crescent'
        })
    }

    startLoader(){
        this.loading.present();
    }

    stopLoader(){
        this.loading.dismiss();
    }
}

第一次导航后出现错误

ERROR 错误:未捕获(承诺中):已插入视图 销毁

ERROR Error: Uncaught (in promise): removeView was not found

【问题讨论】:

    标签: angular mobile ionic3


    【解决方案1】:

    问题是 this.loading.dismiss() 加载器实例没有被正确关闭,所以在启动新加载器之前你必须做的是:

    this.loading.dismissAll();
    this.loading = null;
    

    所以我像这样改变了我的服务(这可能会更好,但你会明白的)。

    export class LoaderService{
        loading: Loading;
        constructor(public loadingCtrl: LoadingController ){
    
        }   
    
        startLoader(){
            this.loader();
            return this.loading.present();
        }
    
        stopLoader(){
            this.loading.dismissAll();
            this.loading = null;
        }
    
        private loader(){
            if(this.loading && this.loading.instance){
                this.stopLoader();
            }
    
            this.loading = this.loadingCtrl.create({
                spinner: 'crescent',
                dismissOnPageChange: true,
            })
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 2017-12-18
      • 2017-08-23
      • 1970-01-01
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 2018-10-08
      相关资源
      最近更新 更多