C# AngularJs:ngRepeat以1以外的增量增加

C# AngularJs:ngRepeat以1以外的增量增加,c#,angularjs,razor,C#,Angularjs,Razor,在AngularJs中是否有一种方法可以增加除1以外的增量,例如下面的C#Razor示例: @for(var i = 0; i < list.length; i+=3) { <p>Value: listOfObjects[i].value</p> } (变量i=0;i

在AngularJs中是否有一种方法可以增加除1以外的增量,例如下面的C#Razor示例:

@for(var i = 0; i < list.length; i+=3)
{
    <p>Value: listOfObjects[i].value</p>
}
(变量i=0;i }
我假设您想要迭代数组集合,并且需要它的当前索引。在这种情况下,您可以使用内置的
{{$index
ng repeat
$index
将为您提供元素的当前索引(如果其数组)。您可以使用
ng if
条件
$index%3==0

控制器

$scope.listOfObjects = [0, 1, 2, 3];
标记

<div ng-repeat="item in listOfObjects" ng-if="$index%3==0">
   {{item}}
</div>

{{item}}

不,您不能直接使用,但您可以对此进行一些变通:

<div ng-repeat="item in listOfObjects">
    <div ng-if="$index % 3 == 0">
       {{item}}
    </div>
</div>

{{item}}

您可以使用这种结构:

<div ng-repeat="n in nfg">
  <span ng-if="!($index %= 3)">Some text here, each 3rd loop</span>
</div>

这里有一些文本,每个第三个循环

我曾希望你能在ng repeat中使用一个过滤器,但我无法实现这一点。

不幸的是,ngRepeat没有这个功能,你可以用ngIf实现,但我个人更喜欢过滤器,因为它们是无状态的

JS
.filter('everyNth',function(){
返回函数(数组元素,n){
var结果=[]
对于(变量i=0;i
HTML


不,你必须迭代一个数组,例如[0,2,4]好问题,不要认为你能用ngRepeat做到这一点。这不是问题的答案,OP希望在ngRepeat中每N个元素迭代一次,而不是增加索引binding@maurycy检查更新,抱歉我错过了那部分:(谢谢提醒
.filter('everyNth', function() {
  return function(arrayOfElements, nth) {
    var result = []
    for (var i = 0; i < arrayOfElements.length; i += nth) {
      result.push(arrayOfElements[i])
    }
    return result
  }
})
<div ng-repeat="item in items | everyNth:3">