Q:

angular2 searching into view

I have a Component for tree view.  If if tried use ViewChilden to search elems, result is 0. 
template:
<ul class="dropdown">
    <li class="levels-list-item" *ngFor="let level of levelsList">
        <div class="flex justify-flex-start dropdown-item align-center">
            <i class="wrapper fa fa-play rotate-90"
               [ngClass]="{'invisible': !   level.childs?.length}"
               attr.data-id="{{level.id}}"
               #dropdownTrigger></i>
            <div class="dropdown-item-inner flex full-width align-center">
                <div class="name">{{level.title}}</div>
                <div class="tools flex justify-flex-start">
                    <a class="wrapper tool" title="Добавить уровень"
                       [routerLink]="['../LevelAdd', {parentId: level.parentId}]"
                       *ngIf="isPDO(level.type)">
                        <i class="fa fa-plus"></i>
                    </a>
                    <a class="tool wrapper" title="Редактировать уровень"
                       [routerLink]="['../LevelEdit', {parentId: level.parentId, id: level.id}]">
                        <i class="fa fa-pencil"></i>
                    </a>
                </div>
            </div>
        </div>
        <levels-list-item [childs]="level.childs"></levels-list-item>
    </li>
</ul>

In class i use:
@ViewChildren("dropdownTrigger") dropdownTriggerElms: QueryList<ElementRef>;

Elems were find only in childrens. 
Other component called it by using this
<levels-list-item [childs]="list | async"></levels-list-item>

A:

The result of @ViewChildren() (dropdownTriggerElms) is only set in or after ngAfterViewInit().  If you try to access it from the constructor it will be null. 
For changes that happen later use dropdownTriggerElms.changes.subscribe(...)
ngAfterViewInit() {
  this.dropdownTriggerElms.changes.subscribe(value => console.log('changes', value));
}

