在ngrepeat中获取项目的$ index

时间:2014-04-04 04:38:44

标签: javascript angularjs

<ul ng-repeat="item in items">
<li>{{item.name}}</li>
</ul>

JS

$scope.item = [
{
    "itemId": 1,
    "name":"laptop"
}
];

我希望将item的$ index作为我的itemId,以便将来我可以存储在db中或在其他地方使用它。我可以<li>{{$index}}</li>但是如何将它与js中的item对象绑定?

2 个答案:

答案 0 :(得分:0)

你可以用

绑定
<li ng-bind="$inndex" ></li> 

或通过

存储在ID或其他标签中
<li custom_tag="{{$index}}"></li>

答案 1 :(得分:0)

选择ng-repeat的单个项目的一个技巧是在与ng-repeat相同的元素中包含controller

ng-repeat专用控制器将包含迭代生成的所有新项目,ng-click调用该控制器中的函数将执行项目选择。

检查演示here

<tbody ng-repeat="i in invoices" 
         ng-controller="RowCtrl" 
         ng-click="toggleRow()" 
         ng-switch on="isSelected()">
    <tr>
        <td>{{i.name}}</td>
        <td>{{i.company}}</td>
    </tr>
    <tr ng-switch-when="true">
        <td>{{i.invoice}}</td>
        <td>{{i.units}}</td>
    </tr>