-
Notifications
You must be signed in to change notification settings - Fork 9
Trucs et astuces
PAO edited this page Oct 15, 2020
·
16 revisions
Le fonctionnement normal d'une page modale se base sur deux composants:
- Une page qui contient une méthode qui va créer et faire appel à la page modale
- La page modale qui est à afficher et qui rend la main à la page qui l'a appelé avec la fonction OnDismiss.
Lorsqu'on doit faire appel à la modale depuis un service, on se retrouve avec une circular dependency. Ionic ne comprend pas à qui rendre la main car le service sert juste à transporter des informations. Pour éviter cette erreur, il suffit de passer en paramètre dans la méthode qui ouvre la page modale, la classe qui correspond à cette dernière précédée de la mention typeof. Angular comprend donc que l'on souhaite passer une classe entière en paramètre. Lors de la clôture de la modale, elle rendra la main directement à la page qui a fait appel à la méthode du service.
/**
- Méthode which opens the modal page WinLoose to display when the player win or loose
- @param modalPage WinLooseModalPage */ async openModalWinLoose(modalPage: typeof WinLooseModalPage) { const modal = await this.modalController.create({ component: modalPage, componentProps: { paramBattleWin: this.battleWon } }); modal.onDidDismiss (); return await modal.present();