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

Detaillierte Erklärung des Ausführungsprozesses von AngularJS

Chapter 1: Startup Phase

When the browser parses the HTML page, after reading the <script> tag of angular.js, it stops parsing the following DOM nodes and starts executing angular.js. At the same time, Angular sets an event listener to listen to the DOMContentLoaded event. When Angular detects this event, Angular starts.

Chapter 2: Initialization Phase

After Angular starts, it looks for ng-Command app, then initialize a series of necessary components (i.e., $injector, $compile service, and $rootScope), and then continue to parse the DOM.

III. Kompilierungs- und Verknüpfungsphase

1. Angular verwendet den $compile-Dienst, um durch das DOM-Baum durchzugehen und DOM-Elemente mit Anweisungen zu finden, und sortiert diese gefundenen Anweisungen nach Priorität der Anweisung.

2. Danach wird der $injector-Dienst verwendet, um die compile-Funktionen unter jedem Befehl zu finden und zu sammeln, und diese auszuführen.

3. Nachdem die compile-Methode jedes Knotens ausgeführt wurde, ruft der $compile-Dienst die Link-Funktion auf. Diese Link-Funktion setzt für Anweisungen, die einen geschlossenen Bereich gebunden haben, Überwachungen.

4. Nachdem alle oben genannten Aufgaben erledigt sind, wird Angular gestartet.

IV. Laufphase

Angular bietet seinen eigenen Ereigniszyklus. Anweisungen registrieren sich selbst als Ereignislistener, daher wird die Anweisungsfunktion ausgeführt, wenn ein Ereignis ausgelöst wird, im $digest-Zyklus von AngularJS. Der $digest-Zyklus wartet auf die Liste der $watch-Ausdrücke und ruft die $watch-Funktion auf, wenn eine Modelländerung erkannt wird. Anschließend wird die $watch-Liste erneut überprüft, um sicherzustellen, dass kein Modell geändert wurde. Sobald der $digest-Zyklus stabil ist und keine potenziellen Veränderungen mehr erkannt werden, verlässt der Ausführungsprozess den Angular-Context und kehrt in der Regel zurück in den Browser.

Das ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Lernen oder Ihrer Arbeit ein gewisses Maß an Unterstützung bietet und ich hoffe auch, dass Sie die Anstrengungen von呐喊教程! mehr unterstützen.

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet bezogen und gehört dem Urheberrechtlichem Inhaber. Der Inhalt wurde von Internetbenutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie verdächtige urheberrechtliche Inhalte finden, sind Sie herzlich eingeladen, eine E-Mail an notice#w zu senden.3codebox.com (Bitte ersetzen Sie # durch @, wenn Sie eine E-Mail senden, um zu melden, und fügen Sie relevante Beweise bei. Sobald nachgewiesen wird, dass der Inhalt urheberrechtlich geschützt ist, wird diese Website den涉嫌侵权的内 容立即删除。)

Empfohlene Artikel