Aucun fournisseur pour TemplateRef! (NgIf -> TemplateRef)


247

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?

Réponses:


599

Vous avez raté le *devant de NgIf (comme nous l'avons tous fait, des dizaines de fois):

<div *ngIf="answer.accepted">&#10004;</div>

Sans le *, Angular voit que la ngIfdirective est appliquée à l' divélément, mais comme il n'y a pas de balise *or <template>, il est incapable 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>.


La même excpetion peut également se produire si vous utilisez ngSwitchCase sans l'astérisque!
cmxl
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.