Übersicht
Der HTML-Compiler von AngularJS ermöglicht es Browsern, neue HTML-Syntax zu erkennen. Es ermöglicht Ihnen, Verhaltensweisen mit HTML-Elementen oder -Attributen zu verknüpfen und sogar neue Elemente mit benutzerdefinierten Verhaltensweisen zu erstellen. AngularJS nennt diese Verhaltenserweiterung eine „Direktive“
HTML verfügt über viele deklarative Strukturen, um das Format beim Schreiben statischer Seiten zu steuern. Wenn Sie beispielsweise einen Inhalt zentrieren möchten, müssen Sie den Browser nicht anweisen, „den Mittelpunkt des Fensters zu finden und ihn mit der Mitte des Inhalts zu kombinieren“. Sie müssen lediglich dem Element, dessen Inhalt zentriert werden soll, ein align="center"-Attribut hinzufügen. Das ist die Macht deklarativer Sprachen.
Aber deklarative Sprachen haben auch Einschränkungen. Einer der Gründe dafür ist, dass Sie sie nicht verwenden können, um den Browser anzuweisen, neue Syntax zu erkennen. Wenn Sie beispielsweise nicht möchten, dass der Inhalt zentriert, sondern 1/3 nach links verschoben wird, ist dies nicht möglich. Wir brauchen also eine Möglichkeit für den Browser, neue HTML-Syntax zu lernen.
AngularJS enthält einige sehr nützliche Anweisungen zum Erstellen von APPs. Wir hoffen auch, dass Sie einige eigene Befehle erstellen können, die für Ihre eigenen Anwendungen nützlich sind. Diese erweiterten Anweisungen sind die „domänenspezifische Sprache“, in der Sie Ihre APP erstellen.
Der Kompilierungsprozess erfolgt auf der Browserseite; die Serverseite nimmt an keinem der Schritte teil und wird auch nicht vorkompiliert.
Compiler
Der Compiler ist ein von AngularJS bereitgestellter Dienst. Er durchläuft das DOM, um damit verbundene Eigenschaften zu finden. Der gesamte Kompilierungsprozess ist in zwei Phasen unterteilt.
1. Kompilieren: Durchqueren Sie das DOM und sammeln Sie alle zugehörigen Anweisungen, um eine Linkfunktion zu generieren.
2. Link: Binden Sie einen Bereich an die Anweisung und generieren Sie eine dynamische Ansicht. Alle Änderungen am Bereichsmodell werden in der Ansicht widergespiegelt, und alle Benutzeroperationen in der Ansicht werden auch im Bereichsmodell widergespiegelt. Dadurch ist das Bereichsmodell das Einzige, um das sich Ihre Geschäftslogik kümmern muss.
Es gibt einige Anweisungen, wie z. B. ng-repeat, die jedes DOM-Element in der Datensammlung klonen. Die Aufteilung des gesamten Kompilierungsprozesses in zwei Phasen: Kompilierung und Verknüpfung verbessert die Gesamtleistung, da die geklonten Vorlagen insgesamt nur einmal kompiliert und dann mit ihren jeweiligen Modellinstanzen verknüpft werden müssen.
Befehle
Die-Direktive gibt an, „was getan werden soll, wenn die zugehörige HTML-Struktur in die Kompilierungsphase eintritt.“ Anweisungen können im Namen des Elements, im Attribut, im CSS-Klassennamen oder im Kommentar geschrieben werden. Nachfolgend finden Sie mehrere Beispiele für die Verwendung der ng-bind-Direktive mit derselben Funktionalität.
-Direktive ist im Wesentlichen nur eine Funktion, die ausgeführt werden muss, wenn der Compiler in das entsprechende DOM kompiliert. Ausführlichere Informationen zu Befehlen finden Sie in der Befehls-API-Dokumentation.
Hier ist ein Befehl, um ein Element ziehbar zu machen. Beachten Sie das ziehbare Attribut im -Element.
index.html: