2016-08-28 3 views
1

angular2 구성 요소에서 transclusion을 사용하면 내 'ViewChildren'이 이러한 구성 요소를 감지 할 수없는 것으로 보입니다. 같은 구성 요소를 직접 정의한 구성 요소를 만들면 올바르게 작동합니다. 지금 누구나이 작업을 할 수있는 방법이 있습니까?Angular2 ViewChildren with transclusion

+1

참조하십시오. – drewmoore

+0

멋진 추가해 주셔서 감사합니다! –

답변

2

@ContentChild() 또는 @ContentChildren()을 사용하여 중첩 된 콘텐츠를 쿼리 할 수 ​​있습니다.

@ViewChild() '@ ViewChildren()`만 구성 요소 템플릿의 요소를 쿼리 할 수 ​​있습니다.

이제 대신 트랜스 클루 전으로 * 우리는 용어 * 콘텐츠 프로젝션을 사용하고, 참고도 angular 2/typescript : get hold of an element in the template

0

나는 내 오류 메시지 구성 요소에도이 작업을 시도했습니다. 실제로 ViewChildren 대신 ContentChildren 장식자를 사용해야합니다. 그것은 ng-content 요소를 위해 특별하게 만들어졌습니다. 결과적으로 구성 요소 나 요소의 반복 가능한 객체 인 QueryList을 얻게됩니다.