2014-06-10 5 views
0

상황에 따라 모음이나 배열을 반복해야합니다. 다음과 같이 "속는 ngRepeat", 코드를 :각도 반복 : 배열과 컬렉션을 검색하는 방법

내가 그렇게 얼마나, 다음과 같은 접근 방식은 원인 제공

<div ng-if="cause.length" ng-repeat="k in cause"> 
    {{k}} 
</div> 
<div ng-if="!cause.length" ng-repeat="(k,v) in cause"> 
    {{k}} 
</div> 

답변

0

는 NG-반복 선언의 끝 track by $index을 추가 한 당신은 어떤 속는 오류가 발생하지 않습니다 ...

<div ng-if="cause.length" ng-repeat="k in cause track by $index"> 
    {{k}} 
</div> 
<div ng-if="!cause.length" ng-repeat="(k,v) in cause track by $index"> 
    {{k}} 
</div> 

UPDATE

추적 기능을 지정하지 않으면 ng-repeat은 요소를 컬렉션의 ID로 연결합니다. 동일한 키를 해결하기 위해 둘 이상의 추적 기능을 갖는 것은 오류입니다. (이 두 가지 목적이 불가능 같은 DOM 요소에 매핑되는 것을 의미합니다.) wickY26 @

하고이 오류를 해결하는 이유 AngularJS와 문서에서이 설명은 설명 ...

+0

감사합니다, 당신은 내 하루를 만듭니다 :-). 한 가지는, 왜 이것이 필요한지 알 수 없습니까? 중계기가 동일한 html 태그 수준에 있기 때문입니까? –

+0

@ StéphanedeLuca 당신은 [확인] 할 수 있습니다 (http://www.anujgakhar.com/2013/06/15/duplicates-in-a-repeater-are-not-allowed-in-angularjs/) this –

+0

@ StéphanedeLuca 업데이트 됨 당신이 그것을 확인할 수있는 자세한 설명을 내 대답 ... –