에러 백과

필수 자식 쿼리 결과에 사용할 수 있는 값이 없음

쿼리 결과를 계산하기 전이거나 쿼리와 일치하는 대상이 없을 때 필수 자식 쿼리(contentChild.required 또는 viewChild.required) 결과에 접근했습니다.

다음 두 가지 상황에서 발생할 수 있습니다.

  • 해당 쿼리가 결과를 수집하기 전에 쿼리 결과에 접근한 경우
  • 쿼리를 실행했지만 일치하는 노드가 없어 결과가 없는 경우

콘텐츠 쿼리와 뷰 쿼리는 서로 다른 시점에 결과를 계산합니다.

  • contentChild 결과는 쿼리를 선언한 디렉티브가 사용되는 템플릿인 호스트 뷰가 생성된 뒤에 사용할 수 있습니다.
  • viewChild 결과는 쿼리를 선언한 컴포넌트의 템플릿이 생성된 뒤에 사용할 수 있습니다.

쿼리 결과를 사용할 수 있기 전에 접근하면 이 페이지에서 설명하는 오류가 발생합니다. 특히 쿼리를 선언한 컴포넌트나 디렉티브의 생성자에서는 쿼리 결과를 절대로 사용할 수 없습니다.

오류 해결

contentChild 쿼리 결과는 AfterContentChecked 라이프사이클 훅부터 접근할 수 있습니다. viewChild 쿼리 결과는 AfterViewChecked 라이프사이클 훅부터 접근할 수 있습니다.

필수 쿼리가 적어도 하나의 노드와 일치하고 실제 결과가 있는지 확인하세요. 앞서 나열한 라이프사이클 훅에서 쿼리 결과에 접근하면 확인할 수 있습니다.