2016-11-15 5 views
1

Я знаю, что я могу использовать @ViewChild, чтобы получить ссылку на какой-то ребенок текущего компонента:Получить ElementRef детям из низших уровней

@ViewChild('someInput') someInput: ElementRef; 

И внутри HTML части:

<input #someInput /> 

Но что если бы я хотел получить ссылку для одного и того же ввода, но это внутри компонента, который стоит на двух уровнях ниже?

<component1> 
    <component2> 
     <component3> 
     <input #someInput /> 
     </component3> 
    </component2> 
</component1> 

Предположим, мы хотим получить реф к #someInput внутри component1.ts. Является ли это возможным?

ответ

2

Использование @ContentChildren() декоратор.

https://angular.io/docs/ts/latest/api/core/index/ContentChildren-decorator.html

+0

Это, вероятно, то, что я искал, но я не могу заставить его работать с моим проектом ... Это не найдя ничего - пустой результат запроса. Но я буду отмечать ответ как правильный, потому что он определенно должен решить мою проблему. Возможно, я использую это неправильно. – Nickon

+1

использовать его внутри ngAfterContentInit –

+0

Aaaaaa, я использовал его внутри 'ngAfterViewInit'. Теперь все работает отлично :) Спасибо !!! – Nickon

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