English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Analyse détaillée du flux d'exécution d'AngularJS

Première partie : Phase de démarrage

Lorsque le navigateur analyse la page HTML, après avoir lu le tag <script> de angular.js, il arrête l'analyse des autres nœuds DOM et commence à exécuter angular.js. En même temps, Angular configure un écouteur d'événement pour l'événement DOMContentLoaded. Une fois que Angular détecte cet événement, il démarre.

Deuxième partie : Phase d'initialisation

Après le lancement d'Angular, il cherche ng-Commande app, puis initialise une série d'components nécessaires (c'est-à-dire $injector, $compile service et $rootScope), puis continuez à analyser le DOM.

Troisième section : Phase de compilation et de liaison

1.Angular utilise le service $compile pour parcourir l'arbre DOM pour trouver des éléments DOM avec des instructions, puis classe ces instructions trouvées en fonction de leur priorité priority.

2.Ensuite, le service $injector recherche et collecte les fonctions compile sous chaque instruction et les exécute.

3.Après que la méthode compile de chaque noeud ait été exécutée, le service $compile appelle la fonction de liaison. Cette fonction de liaison configure les surveillances pour les instructions avec des scopes fermés. Cela crée une vue en temps réel.

4.Une fois toutes ces étapes terminées, Angular est complètement démarré

Quatrième section : Phase de lancement

Angular fournit son propre cycle d'événements. Les instructions s'enregistrent elles-mêmes comme écouteurs d'événements, donc lorsque l'événement est déclenché, la fonction de l'instruction s'exécute dans le cycle $digest d'AngularJS. Le cycle $digest attend la liste des expressions $watch, et appelle la fonction $watch lorsque la détection de changement de modèle est détectée. Ensuite, il regarde à nouveau la liste $watch pour s'assurer qu'aucun modèle n'a été modifié. Une fois que le cycle $digest est stabilisé et que aucune modification potentielle n'est détectée, le processus quitte le contexte Angular et revient généralement dans le navigateur.

Voici la fin de cet article. J'espère que le contenu de cet article peut vous aider dans vos études ou votre travail. Je vous remercie également de votre soutien à la tutoriel d'alerte !

Déclaration : Le contenu de cet article est tiré d'Internet, propriété intellectuelle de son auteur respectif. Le contenu est contribué et téléversé par les utilisateurs d'Internet de manière spontanée. Ce site ne détient pas de droits de propriété, n'a pas été édité par l'homme et n'assume aucune responsabilité juridique connexe. Si vous trouvez du contenu suspect de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.)

Vous pourriez aussi aimer