我正在使用AngularJS及其ng-repeat
指令来显示一系列问题。我需要以1
开头的每个问题编号。如何使用ng-repeat
显示和增加此类计数器?以下是我到目前为止的情况:
<ul>
<li ng-repeat="question in questions | filter: {questionTypesId: questionType, selected: true}">
<div>
<span class="name">
{{ question.questionText }}
</span>
</div>
<ul>
<li ng-repeat="answer in question.answers">
<span class="name">
{{answer.selector}}. {{ answer.answerText }}
</span>
</li>
</ul>
</li>
</ul>
答案 0 :(得分:49)
Angularjs文档中充满了示例,您只需要花些时间进行探索。
在此处查看此示例:ngRepeat example,情况相同。
<ul>
<li ng-repeat="question in questions | filter: {questionTypesId: questionType, selected: true}">
<div>
<span class="name">
{{$index + 1}} {{ question.questionText }}
</span>
</div>
<ul>
<li ng-repeat="answer in question.answers">
<span class="name">
{{answer.selector}}. {{ answer.answerText }}
</span>
</li>
</ul>
</li>
</ul>
答案 1 :(得分:37)
通过搜索类似的东西到达这里。
这对我有用。
{{$index + 1}}
添加了+1,因为索引从0开始。
答案 2 :(得分:4)
有两种方法可以在ng-repeat
中获取给定数组的索引<th ng-repeat="n in [].constructor(3 + 1) track by $index">{{$index}}</th>
当你有嵌套的ng-repeat并且你需要两个循环的计数器时,这个方法很有用......下面的例子使用计数器行。虽然需要使用$ index跟踪,但它不用于逻辑。
<tr ng-repeat="(row, y) in getNumber(h.seats.length, 3) track by $index">
<td>{{row+1}}</td>
在这两种情况下,计数器从0开始,如果你愿意,可以使用+1进行偏移