Transclude là một thiết lập để nói với góc cạnh để nắm bắt mọi thứ được đưa vào trong lệnh trong đánh dấu và sử dụng nó ở đâu đó (nơi thực sự ng-transcludelà tại) trong mẫu của chỉ thị. Đọc thêm về điều này trong phần Tạo Chỉ thị Kết hợp các phần tử khác trên tài liệu của các chỉ thị .
Nếu bạn viết một lệnh tùy chỉnh, bạn sử dụng ng-transclude trong mẫu lệnh để đánh dấu điểm bạn muốn chèn nội dung của phần tử
angular.module('app', [])
.directive('hero', function () {
return {
restrict: 'E',
transclude: true,
scope: { name:'@' },
template: '<div>' +
'<div>{{name}}</div><br>' +
'<div ng-transclude></div>' +
'</div>'
};
});
Nếu bạn đặt điều này trong đánh dấu của bạn
<hero name="superman">Stuff inside the custom directive</hero>
Nó sẽ hiển thị như sau:
Siêu nhân
Thứ bên trong chỉ thị tùy chỉnh
Ví dụ đầy đủ:
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

Hình dung:
