2017-10-02 6 views
0

이 요소는 참조하여 @ViewChild 잡아 허용 방법이었다. 그것이 보이는에서각도 v4.3.3 : @ViewChild 이외의 템플릿 ID로 템플릿 요소에 액세스하는 대신 사용할 수 있습니까? 이전 버전의

@ViewChild('#templateId') elementName: ElementRef;

지금이 더 이상 @ViewChild가 주입하는 특정 구성 요소를 찾고 있기 때문에 실행 가능한 옵션이 없습니다.

나는 ElementRef을 생성자에 주입하는 일에 집중했지만, 처리하려고하는 요소 참조는 템플릿 내에 깊이 중첩되어 있습니다. 어쩌면 이것이 최선의 해결책이지만 가능한 경우 더 나은 것을 찾고 있습니다.

답변

0

당신은 여전히 ​​뷰 템플릿에서 elment을 조회 할 @ViewChild 장식을 사용할 수 있습니다. 예를 들어 :

@ViewChild('templateId') 
public myElement: ElementRef<any>; 

...

<div #templateId></div> 

#templateIddiv의하여 elementRef을 얻을 것이다. 그러나 #templateId와 하나 개의 요소가 ViewChild 통해를 조회 할 수 있어야 명심하십시오. ngAfterViewInit lifecycle-hook 이후에만 사용할 수 있습니다.

+0

적합합니다. ViewChild 안에 해시 (#)를 추가해야합니다. 내가 틀렸기 때문에 기쁘다. –