使用Angularjs模板循环可变长度?

时间:2014-04-24 10:29:26

标签: javascript angularjs

car.images_length变量有一个例如"4"的数字。所以我想迭代并创建4个<li>元素,具体取决于变量。

我知道car.images_length有一个值,因为我使用javascript记录。

这是一个非常新手的问题,但我是Angularjs的新手。

我试图尝试,但没有运气,继承我的代码:

HTML

 <ul rn-carousel rn-carousel-buffered class="image" ng-repeat="pics in car.images_length">
        <li><img src="images/cars/{{$index}}.jpg"></li>
 </ul>

1 个答案:

答案 0 :(得分:3)

您希望迭代li元素,而不是ul

<ul rn-carousel rn-carousel-buffered class="image" >
     <li ng-repeat="number in range(0, car.images_length)"><img src="images/cars/{{number}}.jpg"></li>
</ul>

ng-repeat接受数组而非值。所以你必须创建一个数组,在上面的例子中我通过创建一个从0到长度

的范围来做到这一点

在您的控制器中,您必须创建范围功能:

$scope.range = function(min, max){
    var result = [];
    for (var i = min; i <= max; i++) result.push(i);
    return result;
};

Fiddle