web-dev-qa-db-fra.com

Ionic 4: ngOnInit vs ionViewWillEnter

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();
}
10
Varun Sukheja

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 et ionViewDidLeave 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.

5
Phonolog

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

4
siva kumar

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

0
Supriya