O resultado de uma child query obrigatória (contentChild.required ou viewChild.required) foi acessado antes que os resultados da query fossem calculados ou a query não tem correspondências.
Isso pode acontecer em duas situações distintas:
- resultados da query foram acessados antes que uma determinada query pudesse coletar resultados;
- uma query foi executada mas não correspondeu a nenhum node e não tem resultados como consequência.
Content queries e view queries cada uma calcula seus resultados em momentos diferentes:
- resultados de
contentChildestão disponíveis após uma host view (template onde uma directive declarando uma query é usada) ser criada; - resultados de
viewChildestão disponíveis após um template de um component declarando uma query ser criado.
Acessar resultados de query antes que estejam disponíveis resulta no erro descrito nesta página. Mais notavelmente, resultados de query nunca estão disponíveis em um constructor do component ou directive declarando uma query.
Corrigindo o erro
Resultados de query contentChild podem ser acessados no lifecycle hook AfterContentChecked, ou depois.
Resultados de query viewChild podem ser acessados no lifecycle hook AfterViewChecked, ou depois.
Certifique-se de que uma query obrigatória corresponde a pelo menos um node e tem resultados. Você pode verificar isso acessando os resultados da query nos lifecycle hooks listados acima.