Я пытаюсь показать галочку, если ответ является принятым ответом:
template: `<div ngIf="answer.accepted">✔</div>`
Но я получаю эту ошибку:
EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)
Что я делаю не так?
Я пытаюсь показать галочку, если ответ является принятым ответом:
template: `<div ngIf="answer.accepted">✔</div>`
Но я получаю эту ошибку:
EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)
Что я делаю не так?
Ответы:
Вы пропустили *перед NgIf (как и все мы, десятки раз):
<div *ngIf="answer.accepted">✔</div>
Без *, Angular видит, что ngIfдиректива применяется к divэлементу, но так как тега нет *или нет <template>, он не может найти шаблон, а значит, и ошибку.
Если вы получите эту ошибку с Angular v5:
Ошибка: StaticInjectorError [TemplateRef]:
StaticInjectorError [TemplateRef]:
NullInjectorError: Нет поставщика для TemplateRef!
Вы можете использовать <template>...</template>один или несколько шаблонов компонентов. Изменить / обновить тег на <ng-template>...</ng-template>.