Widziałem wiele pytań dotyczących StackOverflow omawiających ng-tranclude, ale żadne z nich nie wyjaśniło laikom, co to jest.
Opis w dokumentacji jest następujący:
Dyrektywa oznaczająca punkt wstawienia transkomentowanej DOM najbliższej dyrektywy nadrzędnej, która korzysta z transkluzji.
To dość mylące. Czy ktoś byłby w stanie wyjaśnić w prosty sposób, co ma na celu transkrypcja ng i gdzie może być wykorzystana?
angularjs
angularjs-directive
transclusion
Zaklinacz kodów
źródło
źródło
Odpowiedzi:
Transclude to ustawienie pozwalające kątowi uchwycić wszystko, co jest umieszczone w dyrektywie w znacznikach i użyć go gdzieś (gdzie tak naprawdę
ng-transclude
jest) w szablonie dyrektywy. Przeczytaj więcej na ten temat w sekcji Tworzenie dyrektywy, która otacza inne elementy dotyczące dokumentacji dyrektyw .Jeśli piszesz niestandardową dyrektywę, używasz ng-tranclude w szablonie dyrektywy, aby zaznaczyć punkt, w którym chcesz wstawić zawartość elementu
Jeśli umieścisz to w swoim znaczniku
Wygląda to tak:
Pełny przykład:
Index.html
jscript.js
Output markup
Wizualizuj:
źródło
transclude
.jest to rodzaj wydajności, wszystko z elementu.html () jest tam renderowane, ale atrybuty dyrektywy są nadal widoczne w pewnym zakresie.
źródło
yield
wydaje się być dobrą analogią.