Я написал пользовательскую директиву под названием "news" в AngularJS 1.5.
Он выглядит следующим образом:
<div class="row">
<div class="largeText shadow1" ng-transclude="heading"></div>
<div class="mediumText shadow2" ng-transclude="content"></div>
</div>
Файл JavaScript этой директивы выглядит следующим образом:
return {
restrict: 'E',
transclude: {
'heading': 'heading',
'content': 'content'
},
scope: {
//Some parameters here
},
templateUrl: '/directives/news.html'
};
Как вы видите, моя директива новостей имеет двух дочерних элементов, называемых заголовками и полями содержимого. Его можно использовать следующим образом:
<news>
<heading>
//Any content goes here
</heading>
<content>
//Any content goes here
</content>
</news>
Пока директива работает нормально. Я имею в виду, что до тех пор, пока разделы заголовка и содержимого заполняются некоторым контентом, директива показывает их как ожидалось. Тем не менее, я пытаюсь сделать эти отсеки для перехвата не обязательными. Всякий раз, когда я использую директиву как:
<news>
<heading></heading>
</news>
AngularJS выдает сообщение о том, что я не заполнил слот для контента. Возможно ли сделать эти слоты дополнительными?