2016-09-16 75 views
1

我知道我可以使用@ViewChildren註釋來訪問DOM元素。但是,在這種特殊情況下,entries屬性在祖先組件中定義(MenuComp)。於是,我就用queries屬性,如下所示:dart:通過查詢替換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屬性?

+0

從未見過前面提到的'quieries' ind'@Component()'。我知道構造函數參數的'@Query()'註釋,但只要我使用Angular2(自alpha後期以來),它就被棄用了。您的查詢似乎查詢模板中的元素。我不明白這與「祖先」有什麼關係 –

+1

AFAIK @ @ @ ViewChild(ren)'和@ @ContentChild(ren)'建立在@ Query之上,我不希望'@ Query'做有很大的不同。 –

回答

1

從角度4.0.0-alpha + 1開始,如果在父類的字段上使用@ViewChildren,它將繼承父級的註釋。 Componentqueries參數將會消失。