在 AngularJS 的 ng-repeat
指令中,有一种常见的需求是要获取当前循环到的索引值。为此,我们可以使用 $index
变量来获取当前项的索引值,如下所示:
<div ng-repeat="item in items"> {{ $index }}: {{ item }} </div>
然而,如果你需要自定义计数器的初始值,并且需要在每次循环时自增特定的数量,则可以使用以下的方式。
首先,在控制器中定义一个变量,用于存储当前计数器的值:
app.controller('MainCtrl', function($scope) { $scope.counter = 0; });
然后,在 ng-repeat
中使用一个自定义的过滤器来返回当前计数器的值,并在每次循环时将其自增指定的数量:
<div ng-repeat="item in items | counter:counter:2"> {{ counter }}: {{ item }} </div>
其中,counter
表示计数器的初始值,2
表示每次循环自增的数量。接下来,我们需要在模块中注册这个过滤器:
-- -------------------- ---- ------- --------------------- ---------- - ------ --------------- ------ ----- - ----- - ---------------- ---- - --------------- --- ---- - - -- - - ------------- ---- - -------------------- - ----- - - - ----- - ------ ------ -- ---
上述过滤器会遍历 ng-repeat
中的数据,并为每个数据项添加一个名为 __counter__
的属性,其初始值为计数器的初始值加上当前索引乘以自增数量。最后,将修改后的数据返回即可。
这样就实现了一个自定义的 ng-repeat 计数器。你可以根据具体需求来自定义计数器的初始值和自增数量,从而实现更加灵活的功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/28496