AngularJS增加id属性的值

Pet*_*rbo 5 javascript increment angularjs

我有一些看起来像这样的HTML:

<tr ng-repeat="x in y">
    <td>
         <div ng-attr-id="{{getId()}}"></div>
    </td>
    <td>
         <div ng-attr-id="{{getId()}}"></div>
    </td>
    <td>
         <div ng-attr-id="{{getId()}}"></div>
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

我希望有一个id从第一个<td>元素的1开始,然后为每个<td>元素增加一个.

通过在控制器中执行:

$scope.getId = function () {
    counter++;
    return counter;
}
Run Code Online (Sandbox Code Playgroud)

我明白了

达到10 $ digest()次迭代.中止!

Can*_*lli 1

您可以使用$index来实现此目的:

<tr ng-repeat="x in y track by $index">
  <td>
    <div ng-attr-id="{{$index + 1}}"></div>
  </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

对于嵌套循环,您可以定义一个新的跟踪值,并与静态三个元素组合$index或对于静态三个元素,您可以这样写:

<tr ng-repeat="x in y track by $index">
  <td>
    <div ng-attr-id="{{$index*3 + 1}}"></div>
  </td>
  <td>
    <div ng-attr-id="{{$index*3 + 2}}"></div>
  </td>
  <td>
    <div ng-attr-id="{{$index*3 + 3}}"></div>
  </td>
</tr>
Run Code Online (Sandbox Code Playgroud)