ionic framework - recargar - Ionic-Error: Uncaught(en promesa): removeView no se encontró
que es ionic 3 (6)
Pude resolverlo eliminando LoadingController de mi componente.
Mi aplicación Ionic funcionaba bien y no le he hecho nada, pero de repente recibo este error y no sé por qué.
"Error: no detectado (en promesa): removeView no se encontró
Eliminé la función loading.dismiss y la resolví.
Eliminar un componente no es una solución a ningún problema.
Causa del problema: hay varias llamadas para descartar el método de carga del componente.
Solución: Al crear el cargador, verifique si la instancia del cargador no está presente , solo entonces cree otra instancia.
De forma similar, mientras descarta el cargador, verifique si la instancia del cargador sí existe , solo entonces deséchelo.
Código:
constructor(private _loadingCtrl: LoadingController){}
loading;
showLoading() {
if(!this.loading){
this.loading = this._loadingCtrl.create({
content: ''Please Wait...''
});
this.loading.present();
}
}
dismissLoading(){
if(this.loading){
this.loading.dismiss();
this.loading = null;
}
}
dice que llamaste a loading.dismiss () antes de que load.presenet () terminara. Deberías intentarlo
let a = this.loadingCtrl.create({content : ''hello world''})
await a.present();
..
.. // your code goes here..
...
a.dismiss()
Cuando desee descartar manualmente la carga Ionic, es posible que deba seguir el ejemplo siguiente. Lo que está funcionando bien lo he probado en laboratorios iónicos.
Ionic 3+
Nota: Si llama a this.loading.dismiss () manualmente, no recomiendo usar dismissOnPageChange, probablemente esté rechazando la misma carga dos veces.
¿Por qué funciona la siguiente solución?
Creo que this.loading.present()
es un método asíncrono, por lo que no podemos invocar this.loading.dismiss()
manualmente cuando this.loading.present()
aún se está ejecutando.
Por lo tanto, si tenemos que descartar manualmente, debemos asegurarnos de que se presenta la carga y tener una vista para descartarla, debemos usar otro método luego de present().then
como el siguiente código.
Sin embargo, no estoy seguro de por qué no tuvimos este problema en la versión anterior de framework (2.0.3).
import { Loading, LoadingController } from ''ionic-angular'';
export class ApnSearchPage {
loading: Loading;
constructor(private loadingCtrl: LoadingController) { }
ionViewDidLoad() {
this.createLoader();
}
createLoader(message: string = "Please wait...") { // Optional Parameter
this.loading = this.loadingCtrl.create({
content: message
});
}
public searchClick() {
this.createLoader();
this.loading.present().then(() => {
this.searchService.submitRequest(params, data)
.subscribe(response => {
this.loading.dismiss();
}, error => {
this.loading.dismiss();
this.errorMessage = <any>error
});
});
}
}
Enlace de referencia , por lo tanto, solo se publicaron consejos y códigos útiles y de trabajo.
¡Espero que esto ayude!
Aquí hay uno para alertController pero funciona muy similar.
logout() {
let prompt = this.alertCtrl.create({
title: ''Logout'',
subTitle: ''Are You Sure You Want To Logout?'',
buttons: [
{
text: ''No'',
handler: data => {
let navTransition = prompt.dismiss();
navTransition.then(() => {
this.navCtrl.pop();
});
return false;
}
},
{
text: ''Yes'',
handler: data => {
this.lgout();
}
}
]
});
prompt.present();
}