web-dev-qa-db-fra.com

Aucun fournisseur pour TemplateRef! (NgIf -> TemplateRef)

J'essaie d'afficher une coche si une réponse est la réponse acceptée:

template: `<div ngIf="answer.accepted">&#10004;</div>`

Mais je reçois cette erreur:

EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)

Qu'est-ce que je fais mal?

203
Mark Rajcok

Vous avez manqué le * devant NgIf (comme nous tous, dizaines de fois):

<div *ngIf="answer.accepted">&#10004;</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>.

482
Mark Rajcok