エラー百科辞典

Child query result is required but no value is available.

必要な子クエリ (contentChild.required または viewChild.required) 結果は、クエリ結果が計算される前にアクセスされましたか、またはクエリに一致するものがありません。

これは、2つの異なる状況で発生する可能性があります。

  • クエリ結果は、特定のクエリが結果を収集する前にアクセスされました。
  • クエリが実行されましたが、ノードに一致せず、結果として結果がありません。

コンテンツクエリとビュークエリのそれぞれは、異なる時点で結果を計算します。

  • contentChild 結果は、ホスト ビュー(ディレクティブを宣言するテンプレートを使用)が作成された後に利用できます。
  • viewChild 結果は、クエリを宣言するコンポーネントのテンプレートが作成された後に利用できます。

クエリ結果が利用可能になる前にアクセスすると、このページに記載されているエラーが発生します。特に、クエリ結果は、クエリを宣言するコンポーネントまたはディレクティブのコンストラクターでは_決して_利用できません。

エラーの修正

contentChild クエリ結果は、AfterContentChecked ライフサイクルフック以降でアクセスできます。 viewChild クエリ結果は、AfterViewChecked ライフサイクルフック以降でアクセスできます。

必要なクエリが少なくとも1つのノードに一致し、結果があることを確認してください。上記のライフサイクルフックでクエリ結果にアクセスすることで、これを確認できます。