Ich habe eine Reihe von Fragen zu StackOverflow gesehen, in denen es um ng-transclude ging, aber keine hat Laien erklärt, was es ist.
Die Beschreibung in der Dokumentation lautet wie folgt:
Direktive, die die Einfügemarke für das transkludierte DOM der nächsten übergeordneten Direktive markiert, die die Transklusion verwendet.
Das ist ziemlich verwirrend. Wäre jemand in der Lage, in einfachen Worten zu erklären, was ng-transclude tun soll und wo es verwendet werden könnte?
angularjs
angularjs-directive
transclusion
Code Whisperer
quelle
quelle
Antworten:
Transclude ist eine Einstellung, mit der Angular angewiesen wird, alles, was in der Direktive im Markup enthalten ist, zu erfassen und irgendwo (wo sich das tatsächlich
ng-transclude
befindet) in der Vorlage der Direktive zu verwenden. Lesen Sie mehr dazu unter eine Richtlinie vor, dass Wraps Andere Elemente anlegen Abschnitt Dokumentation von Richtlinien .Wenn Sie eine benutzerdefinierte Direktive schreiben, verwenden Sie ng-transclude in der Direktivenvorlage, um den Punkt zu markieren, an dem Sie den Inhalt des Elements einfügen möchten
Wenn Sie dies in Ihr Markup einfügen
Es würde sich zeigen wie:
Vollständiges Beispiel:
Index.html
jscript.js
Output markup
Visualisieren:
quelle
transclude
.Es ist eine Art Ausbeute, alles aus der element.html () wird dort gerendert, aber die Direktivenattribute sind in dem bestimmten Bereich noch sichtbar.
quelle
yield
scheint eine gute Analogie zu sein.