必要な子クエリ (contentChild.required または viewChild.required) 結果は、クエリ結果が計算される前にアクセスされましたか、またはクエリに一致するものがありません。
これは、2つの異なる状況で発生する可能性があります。
- クエリ結果は、特定のクエリが結果を収集する前にアクセスされました。
- クエリが実行されましたが、ノードに一致せず、結果として結果がありません。
コンテンツクエリとビュークエリのそれぞれは、異なる時点で結果を計算します。
contentChild結果は、ホスト ビュー(ディレクティブを宣言するテンプレートを使用)が作成された後に利用できます。viewChild結果は、クエリを宣言するコンポーネントのテンプレートが作成された後に利用できます。
クエリ結果が利用可能になる前にアクセスすると、このページに記載されているエラーが発生します。特に、クエリ結果は、クエリを宣言するコンポーネントまたはディレクティブのコンストラクターでは_決して_利用できません。
エラーの修正
contentChild クエリ結果は、AfterContentChecked ライフサイクルフック以降でアクセスできます。
viewChild クエリ結果は、AfterViewChecked ライフサイクルフック以降でアクセスできます。
必要なクエリが少なくとも1つのノードに一致し、結果があることを確認してください。上記のライフサイクルフックでクエリ結果にアクセスすることで、これを確認できます。