是否有一种方法可以ng-repeat定义的次数,而不是总是要迭代一个数组?
例如,下面我希望列表项显示5次,假设为$scope。数字等于5,加上增加的数字,所以每个列表项都增加,如1,2,3,4,5
预期的结果:
<ul>
<li><span>1</span></li>
<li><span>2</span></li>
<li><span>3</span></li>
<li><span>4</span></li>
<li><span>5</span></li>
</ul>
对于使用CoffeeScript的用户,您可以使用范围理解:
指令
link: (scope, element, attrs) ->
scope.range = [1..+attrs.range]
或控制器
$scope.range = [1..+$someVariable]
$scope.range = [1..5] # Or just an integer
模板
<div ng-repeat="i in range">[ the rest of your code ]</div>
下面是angular 1.2.x的答案
基本上是一样的,只是稍微修改了ng-repeat
<li ng-repeat="i in getNumber(myNumber) track by $index">
这是小提琴:http://jsfiddle.net/cHQLH/153/
这是因为angular 1.2不允许在指令中重复值。这意味着如果您尝试执行以下操作,将会得到一个错误。
<li ng-repeat="x in [1,1,1]"></li>