Я пытаюсь показать галочку, если ответ является принятым ответом:
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>
.