Подтвердить что ты не робот

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>
4b9b3361

Ответ 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, если вам нравится