Произошло обращение к результату обязательного дочернего запроса (contentChild.required или viewChild.required) до
того, как результаты были вычислены, или у запроса нет совпадений.
Это может произойти в двух различных ситуациях:
- к результатам запроса обратились до того, как данный запрос смог собрать результаты;
- запрос был выполнен, но не совпал ни с какими узлами, и, как следствие, не имеет результатов.
Запросы контента (content queries) и запросы представления (view queries) вычисляют свои результаты в разные моменты времени:
- результаты
contentChildдоступны после создания хост-представления (шаблона, где используется директива, объявляющая запрос); - результаты
viewChildдоступны после создания шаблона компонента, объявляющего запрос.
Обращение к результатам запроса до того, как они станут доступны, приводит к ошибке, описанной на этой странице. В частности, результаты запроса никогда не доступны в конструкторе компонента или директивы, объявляющей запрос.
Исправление ошибки
К результатам запроса contentChild можно обращаться в хуке жизненного цикла AfterContentChecked или позже.
К результатам запроса viewChild можно обращаться в хуке жизненного цикла AfterViewChecked или позже.
Убедитесь, что обязательный запрос совпадает хотя бы с одним узлом и вообще имеет результаты. Вы можете проверить это, обратившись к результатам запроса в перечисленных выше хуках жизненного цикла.