Transcluir es una configuración para indicarle a angular que capture todo lo que se coloca dentro de la directiva en el marcado y lo use en algún lugar (donde realmente ng-transclude
está) en la plantilla de la directiva. Lea más sobre esto en la sección Creación de una directiva que envuelve otros elementos sobre documentación de directivas .
Si escribe una directiva personalizada, usa ng-transclude en la plantilla de la directiva para marcar el punto donde desea insertar el contenido del elemento
angular.module('app', [])
.directive('hero', function () {
return {
restrict: 'E',
transclude: true,
scope: { name:'@' },
template: '<div>' +
'<div>{{name}}</div><br>' +
'<div ng-transclude></div>' +
'</div>'
};
});
Si pones esto en tu marcado
<hero name="superman">Stuff inside the custom directive</hero>
Aparecería como:
Superhombre
Cosas dentro de la directiva personalizada
Ejemplo completo:
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
Visualizar: