Quel est préférable d'utiliser Angular Lifecycle Hook ou Ionic Lifecycle hooks spécialement pour l'initialisation lors de la création d'une application hybride en utilisant Ionic 4 ?
Crochet de cycle de vie angulaire - ngOnInit
ngOnInit() {
this.getData();
}
Crochet de cycle de vie ionique - ionViewWillEnter
ionViewWillEnter() {
this.getData();
}
Le Guide de migration Ionic 4 le dit ainsi:
Avec la V4, nous pouvons désormais utiliser les événements typiques fournis par Angular. Mais dans certains cas, vous souhaiterez peut-être avoir accès aux événements déclenchés lorsqu'un composant a terminé son animation pendant le changement de route. Dans ce cas, les
ionViewWillEnter
,ionViewDidEnter
,ionViewWillLeave
etionViewDidLeave
ont été portés depuis V3. Utilisez ces événements pour coordonner les actions avec le propre système d'animations d'Ionic.
Donc, l'essentiel est de préférer Angular hooks de cycle de vie comme ngOnInit
si possible. Le seul réel l'exception concerne le système d'animation ionique comme la vérification si un composant a fini d'entrer dans l'animation.
Dans Ionic 4 événements de cycle de vie sont les mêmes que angular événements de cycle de vie. Ionic 3 événements de cycle de vie ne fonctionnent pas ici).
Pour l'initialisation, vous devez utiliser
ngOnInit()
Si vous voulez qu'après la vue initialisée,
S'il vous plaît changer
ionviewwillenter
à
ngAfterViewInit()
Cela fonctionnera bien.
ionViewWillEnter - Déclenché lors de la saisie d'une page (également si elle revient de la pile)
ngOnInit ne sera pas déclenché, si vous revenez à une page après l'avoir mise dans une pile
je pense mieux une fois ionviewwillenter
ngOnInit
Déclenché une fois lors de l'initialisation du composant. Cet événement peut être utilisé pour initialiser des membres locaux et effectuer des appels vers des services qui ne doivent être effectués qu'une seule fois.
ionViewWillEnter