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