TemplateRef のプロバイダーがありません! (NgIf ->TemplateRef) 質問する

TemplateRef のプロバイダーがありません! (NgIf ->TemplateRef) 質問する

回答が承認された回答である場合にチェックマークを表示しようとしています:

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

しかし、次のエラーが発生します:

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

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

ベストアンサー1

NgIf の前の を忘れています*(私たち全員が何十回も忘れているように):

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

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


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

エラー: StaticInjectorError[TemplateRef]:
  StaticInjectorError[TemplateRef]:
    NullInjectorError: TemplateRef のプロバイダーがありません。

<template>...</template>1 つ以上のコンポーネント テンプレートに が含まれている可能性があります。 タグを に変更/更新してください<ng-template>...</ng-template>

おすすめ記事