我有一个Ionic3应用程序,它根据动作将数据发布到API,同时等待动作完成我使用Ionic的LoadingController显示一个加载器。
import { LoadingController } from 'ionic-angular';
我通过以下方式声明加载程序:
this.loader = this.loadingCtrl.create({
content: "Please wait..."
});
然后我使用加载器:
doSomething(item) {
this.loader.present().then(()=>{
this.item.begin(item).then((result) => {
this.data = result;
this.loader.dismiss();
}, (error) => {
console.log(error);
this.loader.dismiss();
});
});
}
我收到错误:
错误错误:未捕获(在承诺中):插入的视图已经存在 毁
有人能指出我正确的方向吗?
环境:
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils : 1.10.2
ionic (Ionic CLI) : 3.10.3
global packages:
Cordova CLI : 7.0.1
local packages:
@ionic/app-scripts : 2.1.4
Cordova Platforms : ios 4.4.0
Ionic Framework : ionic-angular 3.6.1
System:
ios-deploy : 1.9.2
Node : v7.7.1
npm : 4.1.2
OS : macOS Sierra
Xcode : Xcode 9.0 Build version 9A235
答案 0 :(得分:1)
请注意,在组件被解除后,它将不再可用,并且必须创建另一个组件。这可以通过将组件的创建和表示包装在可重用的函数中来避免,如下面的使用部分所示。
所以你的错误是因为你有创造和现在的分裂。
import { LoadingController } from 'ionic-angular';
constructor(public loadingCtrl: LoadingController) { }
presentLoadingDefault() {
const loading = this.loadingCtrl.create({
content: 'Please wait...'
});
loading.present();
setTimeout(() => {
loading.dismiss();
}, 5000);
}