ng-repeat 定义的次数而不是在数组上重复的方法?

2024-01-19

有没有办法ng-repeat定义的次数而不是总是必须迭代数组?

例如,下面我希望列表项显示 5 次,假设$scope.number等于 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>

更新(2018 年 9 月 25 日)

较新版本的 AngularJS (>= 1.3.0) 允许您仅使用变量来执行此操作(不需要函数):

<li ng-repeat="x in [].constructor(number) track by $index">
    <span>{{ $index+1 }}</span>
</li>
$scope.number = 5;

这在第一次提出问题时是不可能的。感谢@Nikhil Nambiar 在下面对本次更新的回答


原件(2013 年 5 月 29 日)

眼下,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>

这是一个小提琴 http://jsfiddle.net/sh0ber/cHQLH/与几个使用相同的列表getNumber功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ng-repeat 定义的次数而不是在数组上重复的方法? 的相关文章

随机推荐