Kein Anbieter für TemplateRef! (NgIf -> TemplateRef)

247

Ich versuche, ein Häkchen zu setzen, wenn eine Antwort die akzeptierte Antwort ist:

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

Aber ich bekomme diesen Fehler:

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

Was mache ich falsch?

Mark Rajcok
quelle

Antworten:

599

Sie haben das *vor NgIf verpasst (wie wir alle Dutzende Male):

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

Ohne das *sieht Angular, dass die ngIfDirektive auf das divElement angewendet wird , aber da es kein *oder <template>Tag gibt, kann es keine Vorlage finden, daher der Fehler.


Wenn Sie diesen Fehler mit Angular v5 erhalten:

Fehler: StaticInjectorError [TemplateRef]:
  StaticInjectorError [TemplateRef]:
    NullInjectorError: Kein Anbieter für TemplateRef!

Möglicherweise haben Sie <template>...</template>in einer oder mehreren Ihrer Komponentenvorlagen. Ändern / aktualisieren Sie das Tag auf <ng-template>...</ng-template>.

Mark Rajcok
quelle
Die gleiche Ausnahme kann auch auftreten, wenn Sie ngSwitchCase ohne Sternchen verwenden!
cmxl