我無法進行嵌套的包容工作。如何在角度工作中製作嵌套的跨越?
有兩個指令,它們都聲明它們會跨越它們的內容。當我嵌套它們時,內部沒有任何內容。
這裏是this小提琴,這表明我的問題。
下面是代碼:
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>'
};
});
謝謝。現在看起來很明顯。 :) – manolovnikolay
有一點需要注意的是,這種方法增加了額外的標記,如果你正在做一個深層嵌套,可能會有點混亂。 transclude:'element'避免了這一點。但爲了您的使用,可能是好的。 – KayakDave
@KayakDave如果我們刪除這個額外的標記,不管你使用'transclude:element',外部div的內部html都不會被隱藏。讓我知道如果我錯了。謝謝:) –