找到ng-repeat索引?

时间:2014-03-22 22:03:38

标签: javascript html angularjs angularjs-ng-repeat

我可以在Angular.js中执行此操作:

<tr ng-repeat="cust in customers">
  <td>
    {{ cust.name }}
  </td>
</tr>

通过将每个客户放在自己的<tr>中来迭代所有客户。

但如果我想要一个<tr>中的两个客户怎么办?我将如何实现这一目标?

我通常通过弄乱索引和模数值来做到这一点,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

事实证明,这可以在没有任何自定义过滤器或更改数据格式的情况下完成,但它确实需要一些额外的标记。我认为这一开始是不可能的,因为你不能在span表格中使用ng-repeat或类似内容。但是,This answer指出您可以使用tbody

所以这只是使用ng-if指令(如果表达式为真,则呈现html),$index变量(由ng-repeat提供)和{{1}变量(也由$even提供,当ng-repeat为偶数

时为真

我在this Plunker

中创建了一个演示版
$index

这当然只有你有两个专栏才有用,如果有更多专栏怎么办?那么你也可以将完整的表达式放入<div ng-controller="MainCtrl"> <table> <tbody ng-repeat="cust in customers"> <tr ng-if="$even"> <td>{{customers[$index].text}}</td> <td>{{customers[$index+1].text}}</td> </tr> </tbody> </table> </div> 而不仅仅是一个变量。所以你可以使用这样的模数值:

ng-if