2016-09-16 3 views
1

@ViewChildren 주석을 사용하여 DOM 요소에 액세스 할 수 있다는 것을 알고 있습니다. 그러나이 경우에는 entries 속성이 조상 구성 요소 (MenuComp)에 정의되어 있습니다.다트 : 검색어로 ViewChildren 바꾸기

@Component(
    selector: 'my-component', 
    template: ''' 
    <ul> 
     <subentry-comp #entries *ngFor="let item of items" [item]="item"></subentry-comp> 
    </ul>''', 
    inputs: const <String>['items'], 
    queries: const <String, dynamic>{'entries': const ViewChildren('entries')}) 
class SubmenuComp extends MenuComp {} 

그러나 entries 여전히 널 다음과 같이 그래서 나는 queries 속성을 사용했습니다. 잘못된 방법으로 queries 속성을 사용하고 있습니까?

+0

전에 언급 한'quieries' ind'@Component()'를 본 적이 없습니다. 나는 생성자 매개 변수에 대한'@Query()'주석에 대해 알고 있었지만 Angular2 (늦은 알파 이후)를 사용하는 한 더 이상 사용되지 않습니다. 검색어가 템플릿의 요소를 쿼리하는 것 같습니다. 이것이 "조상"과 어떻게 관련되어 있는지 이해할 수 없다. –

+1

AFAIK'@ViewChild (ren)'과'@ContentChild (ren)'은'@ Query' 위에 만들어지며'@ Query'는 그렇게 할 것이라고 기대하지 않는다. 상당한 다른 것. –

답변

1

각도 4.0.0-alpha + 1에서 부모 클래스의 필드에 @ViewChildren을 사용하면 부모로부터 주석을 상속합니다. 의 인수는 Component으로 사라집니다.