如何获得ng-repeat中的唯一数字?

时间:2013-12-10 17:28:53

标签: javascript angularjs twitter-bootstrap

我正在使用角度ng-repeat来显示引导标签。我在彼此里面嵌套了标签。我需要tab元素及其内容的唯一ID。目前我正在使用$ index来获得独特的。但它在父标签页面中没有更多棕褐色两个标签。

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>

2 个答案:

答案 0 :(得分:0)

您也可以访问父母唯一索引,因此在您的情况下,它将类似于

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

答案 1 :(得分:0)

要设置唯一ID或获取唯一字符串,您可以创建可重用的angularJS Filter,它接受可选参数,如prefix / $ 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>