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