使用angularJS获取表中的行索引

时间:2014-07-27 13:15:40

标签: javascript angularjs angularjs-ng-repeat

我想使用angularJS

获取此表中每行的索引
<table>
<tbody>
  <tr ng-repeat = "cust in costomers">
     <td> cust.name </td>
     <td> cust.phone </td>
     <td> cust.address </td>
  </tr>
</tbody>

我希望有一个包含每行索引的变量,而不是只显示它

4 个答案:

答案 0 :(得分:10)

你可以使用$ index

   <tr ng-repeat = "cust in costomers">
     <td> {{$index}} </td>
  </tr>

答案 1 :(得分:4)

我认为您应该使用<tr>标记来放置ng-repeat指令。 您可以使用ng-repeat's $index 属性。请参阅ng-repeat documentation

<table>
  <tbody>
    <tr ng-repeat = "cust in costomers">
      <td> {{$index}} </td>
      <td> {{cust.name}} </td>
      <td> {{cust.phone}} </td>
      <td> {{cust.address}} </td>
    </tr>
  </tbody>
</table>

答案 2 :(得分:1)

$ index在未过滤ng-repeat时工作正常。如果使用过滤器,最好使用indexOf()。例如:

<input type="text" ng-model="filterCustomers" placeholder="search...">
<table>
  <tbody>
    <tr ng-repeat = "cust in costomers | filter:filterCustomers">
      <td> {{costomers.indexOf(cust) + 1}} </td>
    </tr>
  </tbody>
</table>

答案 3 :(得分:0)

如果您想将自己的变量用作index,可以使用:

<table>
<tbody>
  <tr ng-repeat = "(index, cust) in costomers">
     <td> {{index}} </td>
     <td> cust.name </td>
     <td> cust.phone </td>
     <td> cust.address </td>
  </tr>
</tbody>