1. ホーム
  2. アンギュラー

[解決済み】TemplateRefのプロバイダがない! (NgIf ->TemplateRef)

2022-03-29 13:20:10

質問

ある回答が採用された場合、チェックマークを表示させたいのですが。

template: `<div ngIf="answer.accepted">&#10004;</div>`

でも、こんなエラーが出ます。

EXCEPTION: No provider for TemplateRef! (NgIf ->TemplateRef)

何が間違っているのでしょうか?

どうすればいいですか?

を見逃しました。 * を NgIf の前に置くことです (私たちは皆、何十回となくそうしてきました)。

<div *ngIf="answer.accepted">&#10004;</div>


がない場合は * を使用すると、Angular は ngIf ディレクティブが適用されているのは div 要素がないため * または <template> タグを使用した場合、テンプレートを見つけることができないため、エラーとなります。


Angular v5でこのエラーが発生した場合。

Error: StaticInjectorError[TemplateRef]が発生しました。

  StaticInjectorError[TemplateRef]です。

    NullInjectorError: TemplateRef のプロバイダがありません!

あなたは <template>...</template> を1つまたは複数のコンポーネントテンプレートに追加してください。 このタグを次のように変更/更新してください。 <ng-template>...</ng-template> .