Angular确实在HTML指令中提供了一些使用数字的for循环的支持:

<div data-ng-repeat="i in [1,2,3,4,5]">
  do something
</div>

但是,如果作用域变量包含一个具有动态数字的范围,那么每次都需要创建一个空数组。

在控制器中

var range = [];
for(var i=0;i<total;i++) {
  range.push(i);
}
$scope.range = range;

在HTML中

<div data-ng-repeat="i in range">
  do something
</div>

这是可行的,但这是不必要的,因为我们在循环中根本不会使用范围数组。有人知道设置最小/最大值的范围或规则吗?

喜欢的东西:

<div data-ng-repeat="i in 1 .. 100">
  do something
</div>

当前回答

很简单:

$scope.totalPages = new Array(10);

 <div id="pagination">
    <a ng-repeat="i in totalPages track by $index">
      {{$index+1}}
    </a>   
 </div> 

其他回答

只有简单的Javascript(你甚至不需要一个控制器):

<div ng-repeat="n in [].constructor(10) track by $index">
    {{ $index }}
</div>

在模拟时非常有用

使用UnderscoreJS:

angular.module('myModule')
    .run(['$rootScope', function($rootScope) { $rootScope.range = _.range; }]);

将此应用到$rootScope使其在任何地方都可用:

<div ng-repeat="x in range(1,10)">
    {{x}}
</div>

很简单:

$scope.totalPages = new Array(10);

 <div id="pagination">
    <a ng-repeat="i in totalPages track by $index">
      {{$index+1}}
    </a>   
 </div> 

不需要在你的控制器中做任何改变,你可以这样使用:

ng-repeat="_ in ((_ = []) && (_.length=51) && _) track by $index"

享受吧!

假设美元范围。referncerl是一个数组

for(var i=0; i<$scope.refernceurl.length; i++){
    $scope.urls+=$scope.refernceurl[i].link+",";
}