2017-09-14 5 views
1

루프에 요소가 있는데 충돌을 피하기 위해 이드를 변경하려고합니다. 나는 약간의 검색을했지만 아무 것도 찾을 수없는 것 같습니다. 나는 아직 ID를 할당하지 않았기 때문에 ngOnInit document.getElementById('index-1')에서 null을 반환 호출 할 때 어떻게 요소의 ID를 각도로 동적으로 변경합니까?

<div *ngFor="let location of job.tasks; let i = index"> 
    <div id="index-{{i}}"> 
    {{index}} 
    </div> 
</div> 

문제

입니다.

답변

1

id 속성 내에 ngFor 색인 (i)을 연결하십시오.

<div *ngFor="let location of job.tasks; let i = index"> 
    <div id="index-{{i}}"> 
    {{index}} 
    </div> 
</div> 

당신은 이상 반복하여 DOM ngFor를 조회해야합니다, 당신은 ngFor#template-variable를 사용하여이 작업을 수행하는

ngAfterViewInit(){ 
    console.log(document.getElementById('1')); 
} 

Demo Here


더 올바른 방법으로 같은 내부 ngAfterViewInit 라이프 사이클 이벤트를 할 수있는 템플릿과 @ViewChildren 데코레이터를 사용하여 각각의 DOM을 찾습니다.

+0

그게 효과가 있었지만 문제는 내가 생각한 것이 아니라는 것을 알았습니다. 내 오류를 반영하도록 내 질문을 업데이트했습니다. – Jus10