警报控制器 Ionic 2 未捕获(承诺):插入的视图已被销毁



在同一页面上实例化 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();
            });

    }

相关内容

  • 没有找到相关文章

最新更新