В основном у меня есть 2 пользовательских директивы, каждый из которых имеет собственный шаблон. Мне нужно вставить один из шаблонов в другой. Я также читал о трансклюзии, но не могу обмотать его вокруг. Любые идеи будут очень полезны!Использование шаблона из 1 директивы в другой шаблон директив
0
A
ответ
1
От AngularJS Сайт, пример:
<script>
angular.module('transcludeExample', [])
.directive('pane', function(){
return {
restrict: 'E',
transclude: true,
scope: { title:'@' },
template: '<div style="border: 1px solid black;">' +
'<div style="background-color: gray">{{title}}</div>' +
'<ng-transclude></ng-transclude>' +
'</div>'
};
})
.controller('ExampleController', ['$scope', function($scope) {
$scope.title = 'Lorem Ipsum';
$scope.text = 'Neque porro quisquam est qui dolorem ipsum quia dolor...';
}]);
</script>
<div ng-controller="ExampleController">
<input ng-model="title" aria-label="title"> <br/>
<textarea ng-model="text" aria-label="text"></textarea> <br/>
<pane title="{{title}}"><span>{{text}}</span></pane>
</div>
Вы должны создать пользовательскую директиву, в данном случае «панель», внутри angular.module. Когда вы это сделали, директива существует из модуля, который должен быть вашим приложением, и вы можете использовать его свободно, поскольку он возвращается из примера директивы. В этом случае пример использует директиву «панель», и он связывает с ним зашифрованный шаблон.