2013-12-10 2 views
-1

각도 ng-repeat를 사용하여 부트 스트랩 탭을 표시합니다. 서로 중첩 된 탭이 있습니다. 탭 요소와 내용에 고유 한 ID가 필요합니다. 현재 나는 고유 한 것을 얻기 위해 $ index를 사용하고 있습니다. 하지만 상위 탭 안쪽에 두 개의 탭이 더 이상 표시되지 않습니다.ng-repeat에서 고유 번호를 얻는 방법은 무엇입니까?

var items = ['hello1', 'hello2', 'hello3']; 

<ul> 
    <li id="yui{{$index+1}}" ng-repeat="item in items"></li> 
</ul> 

$ index를 사용하지 않고 항목의 고유 ID를 원합니다. 그것을 할 수있는 다른 방법이 있습니까?

<ul> 
     <li id="yui1">hello1</li> 
     <li id="yui2">hello2</li> 
     <li id="yui3">hello3</li> 
    </ul> 
+1

'$ index'is ngRepeat 내에서 고유. 전체 코드를 보여주십시오. – Stewie

답변

0

귀하의 경우는 고유 ID를 설정하거나 재사용 AngularJS와 필터를 만들 수있는 고유 한 문자열을 얻을 수

<li id="{{ $parent.$index }}_{{ $index + 1 }} .... 
0

같은 것, 그래서 당신은, 너무 부모 고유 인덱스에 액세스 할 수 있습니다 접두사/$ index/suffix와 같은 선택적 매개 변수를 받아들이고 고유 한 문자열을 반환합니다. 보기 내부에서 다음

angular.module('myApp',[ngRoute]).filter('unique',function(){ 

    return function(input,prefix){ 
    var uniqueID = ''; 
    // generate unique string. 
    return uniqueID; 
    } 
}); 

와 - - 예를 들어 항상

<li id="{{$index | unique:'tab_'}}">test1</li> 
+0

무한한 $ digest loop가 발생합니다. – Stewie

관련 문제