Tôi không thể thực hiện công việc chuyển đổi lồng nhau.Làm thế nào để thực hiện chuyển đổi lồng nhau trong công việc góc?
Có hai chỉ thị, cả hai đều tuyên bố rằng chúng sẽ chuyển tải nội dung của chúng. Khi tôi lồng chúng, bên trong không có bất kỳ nội dung nào.
Đây là this fiddle, điều đó chứng tỏ sự cố của tôi.
Đây là mã:
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>'
};
});
Cảm ơn. Bây giờ nó có vẻ hiển nhiên. :) – manolovnikolay
Một điều cần lưu ý là cách tiếp cận này bổ sung thêm đánh dấu mà, nếu bạn đang làm một tổ sâu, có thể nhận được một chút lộn xộn. transclude: 'element' tránh điều đó. Nhưng để sử dụng của bạn hoặc là có lẽ tốt. – KayakDave
@KayakDave Nếu chúng ta loại bỏ phần đánh dấu phụ bên trong html của div ngoài sẽ không bị chuyển đổi cho dù bạn sử dụng 'transclude: element' hay không. Hãy cho tôi biết nếu tôi sai. Cảm ơn :) –