文档:
https://docs.angularjs.org/api/ng/directive/ngRepeat
如果我在迭代一个对象,那么$ index将是一个关键。如何检索顺序数字索引(0,1,2 ...)? (假设我仍然希望使用对象而不是数组)
答案 0 :(得分:1)
你可以{ng}重复迭代$index
。见下面的小提琴。
答案 1 :(得分:1)
考虑你的对象是
$scope.object = {};
$scope.object.person1 = {name: "tom", age:"5"};
$scope.object.person2 = {name: "jerry", age: "5"};
$scope.object.person3 = {name: "sparky", age: "3"};
现在,您希望在表格中显示对象中的人物。
<table>
<thead>
<th>Id</th>
<th>Name</th>
<th>Age</th>
</thead>
<tbody>
<tr ng-repeat="person in object">
<td>{{$index+1}}</td>
<td>{{person.name}}</td>
<td>{{person.age}}</td>
</tr>
</tbody>
</table>
你的结果将是
Id Name Age
1 tom 5
2 jerry 5
3 sparky 3
有时您可能会使用ng-repeat
遇到重复错误[ngRepeat:Dupes] 。如果数组中有重复的条目,则会发生此错误。例如
$scope.store = ["apple", "milk", "carrots", "apple"];
<li ng-repeat="item in store">{{item}}</li>
苹果出现两次,所以它重复一次。您可以在https://docs.angularjs.org/error/ngRepeat/dupes 了解有关错误的更多信息
为了避免错误,你告诉ng-repeat使用$ index通过数字索引跟踪数组中的元素,这些索引始终是唯一的。
<li ng-repeat="item in store track by $index">{{item}}</li>