Я видел несколько вопросов о StackOverflow, обсуждающих ng-transclude, но ни один из них не объяснял с точки зрения непрофессионала, что это такое.
Описание в документации выглядит следующим образом:
Директива, которая отмечает точку вставки для включенного DOM ближайшей родительской директивы, которая использует transclusion.
Это довольно запутанно. Сможет ли кто-нибудь объяснить простыми словами, для чего предназначен ng-transclude и где его можно использовать?
angularjs
angularjs-directive
transclusion
Код Whisperer
источник
источник
Ответы:
Transclude - это параметр, который указывает angular захватывать все, что помещено в директиву в разметке, и использовать ее где-то (где на самом деле
ng-transclude
это значение) в шаблоне директивы. Подробнее об этом читайте в разделе « Создание директивы, которая включает другие элементы » в документации по директивам .Если вы пишете пользовательскую директиву, вы используете ng-transclude в шаблоне директивы, чтобы отметить точку, в которую вы хотите вставить содержимое элемента
Если вы положите это в вашей разметке
Это будет отображаться как:
Полный пример:
Index.html
jscript.js
Output markup
Визуализируйте:
источник
transclude
.это своего рода выход, все из element.html () отображается там, но атрибуты директивы все еще видны в определенной области видимости.
источник
yield
кажется хорошей аналогией.