Lequel vais-je utiliser pour l'initialisation des données et pourquoi?
ngOnInit() {
this.type = 'category';
this.getData();
this.setData();
}
ionViewDidLoad() {
this.type = 'category';
this.getData();
this.setData();
}
ngOnInit
est un crochet de cycle de vie appelé par Angular2 pour indiquer que Angular est terminé lors de la création du composant.
ionViewDidLoad
est lié aux événements NavController
de LifeCycle de l'Ionic. Il s'exécute lorsque la page a été chargée. Cet événement ne se produit qu'une fois par page en cours de création.
Fondamentalement, les deux sont de bons endroits pour initialiser les données du composant.
Mais pour utiliser ngOnInit
, vous devez implémenter la classe OnInit
de l'angulaire. De l'autre côté, ionViewDidLoad
ne pourrait être défini que pour les composants poussés/sautés à partir de NavController
.
Donc, je dirais que utilisez ionViewDidLoad
pour les composants de la pile NavController
et ngOnInit
pour les autres composants.
le tir ionViewDidLoad est étroitement lié au NavController.
Si vous avez besoin d'un hook pour un composant rendu indépendamment de NavController (tous les composants d'un ionic 2 sont des pages), vous devez utiliser hooks à cycle de vie angulaire de crochets ioniques de contrôle de navigation .
Maintenant, lequel vous convient, cela dépend du cas d'implémentation.
Quoi qu'il en soit, les noms de tous ces crochets sont explicites la plupart du temps.
Les deux fonctions fonctionnent de la même manière, elles sont appelées lors du chargement initial de la vue dans le DOM.
Grand blog sur les crochets du cycle de vie d'ionic2s ici .