更新 (9/25/2018)
较新版本的 AngularJS (>= 1.3.0) 允许你只用一个变量(不需要函数)来做到这一点:
<li ng-repeat="x in [].constructor(number) track by $index">
<span>{{ $index+1 }}</span>
</li>
$scope.number = 5;
这在首次提出问题时是不可能的。归功于@Nikhil Nambiar 对此更新的回答
原版 (5/29/2013)
目前,ng-repeat
只接受一个集合作为参数,但你可以这样做:
<li ng-repeat="i in getNumber(number)">
<span>{{ $index+1 }}</span>
</li>
在你的控制器中的某个地方:
$scope.number = 5;
$scope.getNumber = function(num) {
return new Array(num);
}
这将允许您随意更改$scope.number
为任何数字,并且仍然保持您正在寻找的绑定。
编辑(2014 年 1 月 6 日) ——较新版本的 AngularJS(>= 1.1.5)需要track by $index
:
<li ng-repeat="i in getNumber(number) track by $index">
<span>{{ $index+1 }}</span>
</li>
这是使用相同getNumber
功能的几个列表的小提琴。