我在使用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.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"
答案 0 :(得分:23)
你的编辑正在以正确的方式进行,您可以轻松地遍历整数列表,您只需使用索引的值就像那样
<div ng-repeat="t in [3,4,5,6,7,8]">
....
data-ng-model="modal.data.answer[t].text"
...
如果您想尝试http://jsfiddle.net/DotDotDot/tweyS/,我会做一个小提琴(输入字段就在这里更改所选的值,就像在代码示例中一样,以便显示正确的字段)
玩得开心
答案 1 :(得分:17)
不允许在转发器中重复。使用'track by'表达式指定唯一键。
<div ng-repeat="n in [42, 42, 43, 43] track by $index">
{{n}}
</div>