Angular 找不到Ionic 3 LoadingController removeView
我正在制作一个ionic 3应用程序,希望在每个导航上添加一个加载微调器。因此,我创建了一个loadingService并将其添加到我的navigationService中,以便自动处理所有导航 为了启动和停止装载机,我使用了:Angular 找不到Ionic 3 LoadingController removeView,angular,mobile,ionic3,Angular,Mobile,Ionic3,我正在制作一个ionic 3应用程序,希望在每个导航上添加一个加载微调器。因此,我创建了一个loadingService并将其添加到我的navigationService中,以便自动处理所有导航 为了启动和停止装载机,我使用了: export class LoaderService{ loading: Loading; constructor(public loadingCtrl: LoadingController ){ this.loading = this.
export class LoaderService{
loading: Loading;
constructor(public loadingCtrl: LoadingController ){
this.loading = this.loadingCtrl.create({
spinner: 'crescent'
})
}
startLoader(){
this.loading.present();
}
stopLoader(){
this.loading.dismiss();
}
}
在第一次导航之后,我发现了错误
错误:未捕获(承诺中):已插入视图
毁坏
错误:未捕获(承诺中):未找到removeView
问题是,使用
this.loading.disease()
loader实例时,没有正确地解除加载程序,因此在启动新加载程序之前必须执行以下操作:
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,
})
}
}