Je voudrais afficher un modèle différent dans mon composant. Un seul apparaîtra. Si hasURL
est true
, je veux montrer le <a></a>
. Si hasURL
est false
, je veux montrer le <button></button>
.
Le problème si hasURL est faux, le bouton afficher le composant, mais le contenu ng est vide. Parce qu'il est déjà lu dans le premier "a></a>
Existe-t-il un moyen de résoudre ce problème, s'il vous plaît?
<a class="bouton" href="{{ href }}" *ngIf="hasURL">
<ng-content>
</ng-content>
</a>
<button class="bouton" *ngIf="!hasURL">
<ng-content>
</ng-content>
</button>
Merci!
Vous pouvez envelopper ng-content
dans ng-template
et utilisez ngTemplateOutlet
<a class="bouton" href="{{ href }}" *ngIf="hasURL">
<ng-container *ngTemplateOutlet="contentTpl"></ng-container>
</a>
<button class="bouton" *ngIf="!hasURL">
<ng-container *ngTemplateOutlet="contentTpl"></ng-container>
</button>
<ng-template #contentTpl><ng-content></ng-content></ng-template>
Voir également