Ich kann keine geschachtelten Transclosions arbeiten.Wie verschachtelte Transclusion in eckige Arbeit zu machen?
Es gibt zwei Direktiven, von denen beide erklären, dass sie ihren Inhalt übertragen werden. Wenn ich sie neste, hat das Innere keinen Inhalt.
Hier ist this Geige, das zeigt mein Problem. Hier
ist der Code:
function Ctrl($scope) {
$scope.text = 'Neque porro quisquam est qui dolorem ipsum quia dolor...';
}
angular.module('transclude', [])
.directive('outer', function(){
return {
restrict: 'E',
replace: true,
transclude: true,
scope: {},
template: '<div style="border: 1px solid black;">' +
'<div>Outer</div>' +
'<inner ng-transclude></inner>' +
'</div>'
};
}).directive('inner', function(){
return {
restrict: 'E',
transclude: true,
replace: true,
template :'<div style="border: 1px solid red;">' +
'<div>Inner</div>' +
'<div ng-transclude></div>' +
'</div>'
};
});
Danke. Jetzt scheint es offensichtlich. :) – manolovnikolay
Eine Sache zu beachten ist, dass dieser Ansatz zusätzliche Markup hinzufügt, die, wenn Sie eine tiefe Verschachtelung machen, ein bisschen unordentlich werden können. transclude: 'element' vermeidet das. Aber für Ihren Einsatz ist beides wahrscheinlich gut. – KayakDave
@KayakDave Wenn wir dieses zusätzliche Markup entfernen, wird der innere HTML-Code des äußeren Div nicht übernommen, wenn Sie 'transclude: element' verwenden. Lass es mich wissen, wenn ich falsch liege. Danke :) –