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

时间:2016-11-17 11:18:23

标签: c# angularjs razor

AngularJs中是否有增加1以外增量的方法,例如C#Razor示例:

@for(var i = 0; i < list.length; i+=3)
{
    <p>Value: listOfObjects[i].value</p>
}

3 个答案:

答案 0 :(得分:1)

我假设你想迭代数组集合,并且需要它的当前索引。在这种情况下,您可以使用{{$indexng-repeat内置了$indexng-if将为您提供元素的当前索引(如果是数组)。您可以将$index%3==0与条件$scope.listOfObjects = [0, 1, 2, 3];

一起使用

<强>控制器

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

<强>标记

~

答案 1 :(得分:1)

不,你不能直接但你可以对此做一些解决方法:

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

答案 2 :(得分:1)

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

JS

.filter('everyNth', function() {
  return function(arrayOfElements, nth) {
    var result = []
    for (var i = 0; i < arrayOfElements.length; i += nth) {
      result.push(arrayOfElements[i])
    }
    return result
  }
})

HTML

<div ng-repeat="item in items | everyNth:3">