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

Могу ли я использовать ng-repeat для итерации по массиву в AngularJS?

У меня возникли проблемы с использованием AngularJS ng-repeat. Вот что я имею:

<div ng:show="selected == 3">
    <div class="columns">
        <textarea rows="4" data-ng-model="modal.data.answer[1].text" cols="91">1</textarea>
    </div>
    <div class="columns">
        <label>Explanation</label>
        <textarea rows="2" data-ng-model="modal.data.answer[1].explanation" cols="91"></textarea>
    </div>
    <div class="columns">
        <div class="colx2-left">
            <span class="label">Correct</span>
            <input type="checkbox" data-ng-model="modal.data.answer[1].correct" class="check-box"><input type="hidden" value="false" name="Details[0].Correct">
        </div>
        <div class="colx2-right">
            <label>Image File</label>
            <input type="text" data-ng-model="modal.data.answer[1]image" class="full-width">
        </div>
    </div>
</div>

В массиве modal.data.answ всегда будет шесть элементов. Могу ли я использовать ng-repeat для создания HTML для них и повторить даже числа [x] в массиве и увеличить число в первой строке для "selected =" от 3 до 8?

Насколько я знаю, я могу использовать <div ng-repeat="t in [3,4,5,6,7,8]"> </div>, но как я могу получить значения t в таких вещах, как:

data-ng-model="modal.data.answer[1].text"
4b9b3361

Ответ 1

ваше редактирование направляется в нужном направлении, вы можете легко перебирать список целых чисел, вы просто используете значение вашего индекса как

<div ng-repeat="t in [3,4,5,6,7,8]">
....
data-ng-model="modal.data.answer[t].text"
...

Я сделал скрипку, если вы хотите попробовать http://jsfiddle.net/DotDotDot/tweyS/ (поле ввода здесь только для изменения выбранного значения, как в вашем образ кода, чтобы отобразить правильные поля)

получайте удовольствие

Ответ 2

Дубликаты в ретрансляторе не допускаются. Используйте выражение "track by" для указания уникальных ключей.

  <div ng-repeat="n in [42, 42, 43, 43] track by $index">
     {{n}}
  </div>