Próbuję pokazać znacznik wyboru, jeśli odpowiedź jest odpowiedzią zaakceptowaną:
template: `<div ngIf="answer.accepted">✔</div>`
Ale pojawia się ten błąd:
EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)
Co ja robię źle?
Próbuję pokazać znacznik wyboru, jeśli odpowiedź jest odpowiedzią zaakceptowaną:
template: `<div ngIf="answer.accepted">✔</div>`
Ale pojawia się ten błąd:
EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)
Co ja robię źle?
Odpowiedzi:
Przegapiłeś *
przed NgIf (jak wszyscy dziesiątki razy):
<div *ngIf="answer.accepted">✔</div>
Bez *
kątowa widzi, że ngIf
dyrektywa jest stosowana do div
elementu, ale ponieważ nie jest *
ani <template>
tag, nie jest w stanie zlokalizować szablon, stąd ten błąd.
Jeśli pojawi się ten błąd w Angular v5:
Błąd: StaticInjectorError [TemplateRef]:
StaticInjectorError [TemplateRef]:
NullInjectorError: Brak dostawcy dla TemplateRef!
Możesz mieć <template>...</template>
jeden lub więcej szablonów komponentów. Zmień / zaktualizuj tag na <ng-template>...</ng-template>
.