AngularJS Serial on ng-repeat

时间:2015-10-18 02:00:57

标签: javascript angularjs

我有以下ng-repeat

<div ng-repeat="product in ProductList" ng-show="ProductList.length >=1">
<h3> Product {{ProductList.length + 1}}</h3>

我需要做的就是在h3中显示一个序列号,例如

Product 1
Product 2
....

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用$index,请参阅doc

<div ng-repeat="product in ProductList">
    <h3>Product {{$index + 1}}</h3>
</div>

您不需要ngShow,因为ngRepeat不会迭代一个空数组

答案 1 :(得分:0)

我不确定您是否只想要product ProductList内的位置/序号(即ProductList.indexOf(product) + 1),或product上存储的某个唯一标识符变量。以下是您将如何做到这两点:

<h3> Product {{$index + 1}}</h3>

<h3> Product {{product.serial}}</h3>

为了解决评论者的问题,如果你有一些复杂的范围问题,例如嵌套的ng-repeat(你没有,所以我认为你没有),表达这种意图的最明确的方法是是:

<div ng-repeat="product in ProductList" ng-init="serial = $index">
...
<h3> Product {{serial}}</h3>

但我不会在你需要之前引入另一个变量(即serial)。 $index将成为大多数人期待的ng-repeat,而不会在内部创建一些疯狂的范围。