AngularJS 增加 id 属性的值
AngularJS increment value for id attributes
我有一些 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>
我想要一个 ID,第一个 <td>
元素从 1 开始,然后每个 <td>
元素递增一个。
通过在控制器中执行:
$scope.getId = function () {
counter++;
return counter;
}
我明白了
10 $digest() iterations reached. Aborting!
您可以使用 $index 这样做:
<tr ng-repeat="x in y track by $index">
<td>
<div ng-attr-id="{{$index + 1}}"></div>
</td>
</tr>
对于嵌套循环,您可以定义一个新的轨道值并与 $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>
您可以使用 ngRepeat
指令的 $index
变量。
$index
: iterator offset of the repeated element (0..length-1)
所以,你可以这样做:
<div ng-attr-id="{{$index + 1}}"></div>
我们用$index + 1
从1开始
我有一些 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>
我想要一个 ID,第一个 <td>
元素从 1 开始,然后每个 <td>
元素递增一个。
通过在控制器中执行:
$scope.getId = function () {
counter++;
return counter;
}
我明白了
10 $digest() iterations reached. Aborting!
您可以使用 $index 这样做:
<tr ng-repeat="x in y track by $index">
<td>
<div ng-attr-id="{{$index + 1}}"></div>
</td>
</tr>
对于嵌套循环,您可以定义一个新的轨道值并与 $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>
您可以使用 ngRepeat
指令的 $index
变量。
$index
: iterator offset of the repeated element (0..length-1)
所以,你可以这样做:
<div ng-attr-id="{{$index + 1}}"></div>
我们用$index + 1
从1开始