Quel est le but de la ionViewDidLoad() la fonction?
Sur l'exécution ionic g page pageName
je générée .ts,.css et .fichiers html.
À l'intérieur de l' .fichier ts, j'ai une fonction appelée ionViewDidLoad(){}
et ceci se imprimée avant de mon point de vue s'affiche.
Cela peut être fait dans le constructeur lui-même, je crois?
Quelqu'un peut-il me donner une référence de n'importe quel blog ou d'explications sur cette fonction?
OriginalL'auteur Mohan Gopi | 2016-10-05
Vous devez vous connecter pour publier un commentaire.
Vous avez raison, beaucoup de choses pourraient être faites à la fois dans le constructeur ou dans la
ionViewDidLoad
et le résultat sera le même...Mais la principale différence entre les
constructor
et laionViewDidLoad
que laconstructor
sera exécutée qu'une seule fois (lorsque le composant est instanciée), mais leionViewDidLoad
méthode sera exécutée chaque fois la vue est entré (chargé).Par exemple, si vous voulez charger les données à partir d'une source de données distante, si vous le faites dans le constructeur, les données seront obtenus qu'une seule fois. Si les données pouvaient changer assez rapidement, une meilleure approche serait de les obtenir dans les
ionViewDidLoad
méthode, pour être sûr que chaque fois que la page est chargée, les dernières données sont recueillies et affichées dans la vue.un Autre fait important au sujet de laest-ce que parfois vous voulez interagir avec le DOM (peut-être pour initialiser une carte).ionViewDidLoad
Dans ce cas, si vous essayez d'accéder au DOM dans le constructeur, vous remarquerez que le DOM n'est pas prêt par ce point et vous ne serez pas en mesure d'obtenir l'élément de la carte. L'approche correcte de le faire, il serait à l'intérieur de la
ionViewDidLoad
parce que à ce moment (tout comme le nom le dit) le point de vue était déjà chargé et que le DOM est maintenant disponible.Mise à JOUR:
Tout comme @graphefruit souligné dans le commentaire ci-dessous, dans les versions les plus récentes des Ionique 2,
ionViewDidLoad
juste se déclenche si la page n'est pas mis en cache.ionViewWillEnter
ouionViewDidEnter
sera déclenché à chaque fois que la page est entré.votre réponse n'est pas correcte plus. ionViewDidLoad juste se déclenche si la page n'est pas mis en cache. ionicframework.com/docs/v2/2.0.0-rc.0/api/navigation/...
ionViewWillEnter
ouionViewDidEnter
sera déclenché à chaque fois que la page est entréMerci pour cette remarque @graphefruit, j'ai mis à jour la réponse 🙂
OriginalL'auteur sebaferreras
constructor
est appelée avant tout, une fois par instanciation de la page, ici vous pouvez faire de l'initialisation qui ne se réfère pas le DOM HTMLionViewDidLoad
est appelée lorsque la page DOM a été chargé, avant que la page est affichée, aussi qu'une seule fois par page instanciation, ici vous pouvez faire de l'initialisation de thet besoins le DOM HTML afin d'être prêtionViewWillEnter
est appelée juste avant que la page est affichée, peut-être plusieurs fois, si la page reste en arrière-plan et renvoie, ici vous pouvez actualiser les données si elle peut être modifiée dans une autre pageionViewDidEnter
est la même, mais appelé juste après la page est affichée, peut-être plusieurs fois, si la page reste en arrière-plan et renvoie, par exemple, vous pouvez afficher une alerte lorsque la page est devenue en faceOriginalL'auteur Luca C.