2017-02-09 1 views
0

Для получения ссылки ребенка компонента мы имеем опцию-Как я могу получить ссылку на тот же тип дочернего компонента внутри родительского компонента

@ViewChild(ChildComponent) 
childComp: ChildComponent; 

Интересно, что если у меня есть тот же компонент ребенка в два раза или более, как я могу получить все дочерние компоненты одного типа в разных переменных. Например, в моем родительском шаблоне я have-

<div> 
    <child-selector></child-selector> 
    <child-selector></child-selector> 
</div> 

Как я могу получить ссылку на как же компонента дочернего типа внутри родительского компонента? Любая помощь будет высоко оценен

ответ

1

Использование ViewChildren

@ViewChildren(ChildComponent) 
childComps: QueryList<ChildComponent>; 

* дети элемент, который находится внутри его шаблона компонента называются * вид * дети. С другой стороны, ** элементы , которые используются между метками открытия и закрытия узла элемента данного компонента, называются * content children **.

http://blog.mgechev.com/2016/01/23/angular2-viewchildren-contentchildren-difference-viewproviders/

+0

Thnx для ответа, когда я пытаюсь получить длину childComps, используя childComps.length это дает неопределенными? Как я могу перебирать и получать каждую селекторную ссылку для детей? – deen

+0

вам нужно подключиться к жизненному циклу AfterViewInit, после этого события вы можете прокручивать список. https://angular.io/docs/ts/latest/api/core/index/AfterViewInit-class.html, https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html –

Смежные вопросы