2013-12-10 41 views
-1

我正在使用角度ng-repeat顯示引導選項卡。我嵌套在另一個標籤。我需要唯一的id到tab元素和它的內容。目前我使用$索引來獲得獨特的。但是它在父項標籤內更多的兩個選項卡失敗。如何獲得ng-repeat中的唯一編號?

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

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

我想爲項目使用唯一ID而不使用$ index。有沒有其他方法可以做到這一點?

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

'$ index'is總是在ngRepeat獨特。向我們展示您的完整代碼。 – Stewie

回答

0

您可以訪問的父母唯一索引太多,所以在你的情況下,它會是這樣

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

要設置的唯一ID或獲得唯一的字符串,您可以創建可重用的angularJS過濾器,它接受諸如前綴/ $ 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

這將導致無限的$摘要循環。 – Stewie