我可以使用ng-repeat迭代AngularJS中的数组吗?

Ala*_*an2 23 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>
Run Code Online (Sandbox Code Playgroud)

modal.data.answer数组总是有六个元素.我可以使用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"
Run Code Online (Sandbox Code Playgroud)

Dot*_*Dot 24

你的编辑正在以正确的方式进行,您可以轻松地遍历整数列表,您只需使用索引的值就像那样

<div ng-repeat="t in [3,4,5,6,7,8]">
....
data-ng-model="modal.data.answer[t].text"
...
Run Code Online (Sandbox Code Playgroud)

如果您想尝试http://jsfiddle.net/DotDotDot/tweyS/(输入字段只是在这里更改选定的值,如在您的代码示例中,为了显示正确的字段),我做了一个小提琴

玩得开心


小智 18

不允许在转发器中重复.使用'track by'表达式指定唯一键.

  <div ng-repeat="n in [42, 42, 43, 43] track by $index">
     {{n}}
  </div>
Run Code Online (Sandbox Code Playgroud)