在同一页面上实例化Ionic 2 AlertController会出现此错误:未捕获(按承诺):插入的视图已被破坏
我想让它运行几次,以至于可以在同一页面上多次调用的ionic 1警报实例。
码:
export class ConsultaProdutoPage {
public usar_leitor: boolean = false;
public codigo: string = '';
public icon: object = { 'icon': 'search', 'text': 'Buscar' };
public mostrar_produto: boolean = false;
private loading;
private _alert: Alert;
constructor(public navCtrl: NavController,
public navParams: NavParams,
private _barcodeScanner: BarcodeScanner,
private _alertCtrl: AlertController,
private _service: consultaProdutoService,
private _loadingCtrl: LoadingController) {
this.loading = this._loadingCtrl.create({
content: 'Buscando Produtos. Aguarde...',
dismissOnPageChange: true
});
this._alert = this._alertCtrl.create({
'title': "Aviso",
'message': 'Erro ao buscar produtos.',
buttons: ['OK']
});
}
buscaProduto(codigo) {
this.loading.present();
this._service.getProduto(this.codigo)
.then(success => {
console.log(success);
})
.catch(err => {
this.loading.dismiss();
this.codigo = '';
this._alert.present();
});
}
}
此问题是由于在函数中重用了加载对象。
由于您“希望使其运行几次”,因此加载对象也得到了重用。但是,该对象只能使用一次。在这里检查。
尝试:
buscaProduto(codigo) {
this.loading = this._loadingCtrl.create({
content: 'Buscando Produtos. Aguarde...',
dismissOnPageChange: true
});
this.loading.present();
this._service.getProduto(this.codigo)
.then(success => {
console.log(success);
})
.catch(err => {
this.loading.dismiss();
this.codigo = '';
this._alert.present();
});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句