Ho scritto una direttiva personalizzata chiamata 'notizie' in AngularJS 1.5.AngularJS opzionale ng-transclude
E 'disposizione è la seguente:
<div class="row">
<div class="largeText shadow1" ng-transclude="heading"></div>
<div class="mediumText shadow2" ng-transclude="content"></div>
</div>
Il file JavaScript di questa direttiva è la seguente:
return {
restrict: 'E',
transclude: {
'heading': 'heading',
'content': 'content'
},
scope: {
//Some parameters here
},
templateUrl: '/directives/news.html'
};
Come si vede, la mia direttiva notizia ha due figli, chiamati intestazione e campi di contenuti . Può essere utilizzato come segue:
<news>
<heading>
//Any content goes here
</heading>
<content>
//Any content goes here
</content>
</news>
Finora, la direttiva funziona correttamente. Voglio dire, finché le sezioni di titolo e contenuto sono piene di contenuto, la direttiva le mostra come previsto. Tuttavia, sto cercando di rendere questi slot di esclusione non obbligatori. Ogni volta che uso la direttiva come:
<news>
<heading></heading>
</news>
AngularJS genera un errore dicendo che non ho riempito lo slot del contenuto. È mai possibile rendere questi slot opzionali?
Questo è quello che sto cercando, grazie! –