Transclude - це налаштування, щоб вказати кутовий, щоб зафіксувати все, що розміщено всередині директиви в розмітці, і використовувати її десь (Де насправді ng-transclude
є) у шаблоні директиви. Детальніше про це читайте у розділі Створення директиви, яка обгортає інші елементи, про документацію директив .
Якщо ви пишете власну директиву, ви використовуєте ng-transclude в шаблоні директиви, щоб позначити точку, куди потрібно вставити вміст елемента
angular.module('app', [])
.directive('hero', function () {
return {
restrict: 'E',
transclude: true,
scope: { name:'@' },
template: '<div>' +
'<div>{{name}}</div><br>' +
'<div ng-transclude></div>' +
'</div>'
};
});
Якщо ви поставите це у своїй розмітці
<hero name="superman">Stuff inside the custom directive</hero>
Це відображатиметься так:
Супермен
Речі в спеціальній директиві
Повний приклад:
Index.html
<body ng-app="myApp">
<div class="AAA">
<hero name="superman">Stuff inside the custom directive</hero>
</div>
</body>
jscript.js
angular.module('myApp', []).directive('hero', function () {
return {
restrict: 'E',
transclude: true,
scope: { name:'@' },
template: '<div>' +
'<div>{{name}}</div><br>' +
'<div ng-transclude></div>' +
'</div>'
};
});
Output markup
Візуалізуйте: