J'essaie d'afficher une coche si une réponse est la réponse acceptée:
template: `<div ngIf="answer.accepted">✔</div>`
Mais je reçois cette erreur:
EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)
Qu'est-ce que je fais mal?
Vous avez manqué le *
devant NgIf (comme nous tous, dizaines de fois):
<div *ngIf="answer.accepted">✔</div>
Sans le *
, Angular voit que la directive ngIf
est appliquée à l'élément div
, mais puisqu'il n'y a pas de *
ou <template>
tag, il est impossible de localiser un modèle, d’où l’erreur.
Si vous obtenez cette erreur avec Angular v5:
Erreur: StaticInjectorError [TemplateRef]:
StaticInjectorError [TemplateRef]:
NullInjectorError: Aucun fournisseur pour TemplateRef!
Vous pouvez avoir <template>...</template>
dans un ou plusieurs de vos modèles de composants. Modifiez/mettez à jour la balise en <ng-template>...</ng-template>
.