Angularjs ng-repeat counter
Я использую 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>
Ответы
Ответ 1
Документация Angularjs полна примеров, вам просто нужно потратить некоторое время и изучить ее.
Вот пример здесь: пример ngRepeat, это тот же случай.
<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>
Ответ 2
Здесь можно найти что-то подобное.
Вот что сработало для меня.
{{$index + 1}}
+1 добавляется потому, что индекс начинается с 0.
Ответ 3
Существует два способа получить индекс для данного массива в ng-repeat
Использование $index
<th ng-repeat="n in [].constructor(3 + 1) track by $index">{{$index}}</th>
Использование счетчика
Этот метод полезен, когда у вас есть вложенное ng-repeat и вам нужны счетчики для обеих циклов... в следующем примере используется строка счетчика. Хотя трек по индексу $требуется, он не используется для логики.
<tr ng-repeat="(row, y) in getNumber(h.seats.length, 3) track by $index">
<td>{{row+1}}</td>
В обоих случаях счетчик начинается с 0, и вы можете компенсировать использование +1, если вам нравится