Búsqueda de sitios web

angular - capturar el evento dismiss en el controlador del modal desde el componente principal


En mi MainPage, llamo a la función create en ModalController, se muestra la ModalPage y cuando hago clic en cancelar, llama a la función dismiss y regresa a MainPage. Todo funciona bien.

@Component({
  selector: 'main-page',
  templateUrl: 'main-page.html'
})
export class MainPage{
   itemTapped($event, item) {
       let detModal = this.modalCtrl.create(ModalPage, {item : item});
       detModal.present();
   }
}


@Component({
  selector: 'modal-page',
  templateUrl: 'modal-page.html'
})
export class ModalPage{
   dismiss() {
     this.viewCtrl.dismiss();
   }
}

Ahora, quiero llamar a una función en MainPage después de que se haya cerrado el ModalPage. ¿Existe algún método?

Respuesta #1

Puedes usar onDidDismiss (documentación) así:

export class MainPage{
   itemTapped($event, item) {
       let detModal = this.modalCtrl.create(ModalPage, {item : item});

       detModal.onDidDismiss(() => {
         // This will be executed after the modal is dismissed...
         console.log('Hi...');
       });

       detModal.present();
   }
}