我遇到使用ng-repeat和选择的问题。
这是我的代码,首先是
<select>
<optgoup ng-repeat="(key, value) in Widget.ids" label="{{ value.label }}">
<option ng-repeat="id in Widget.ids[key].ids">{{ id }}</option>
</optgroup>
</select>
我的数据看起来像这样
[
{ label: "My Label", ids: [ "one id", "another id" ] },
{ label: "My Other Label", ids: [ "one id", "another id" ] }
]
然而,这会返回一个完全空<select>
。
令人沮丧的是,如果我将HTML更改为如下所示:
<div ng-repeat="(key, value) in Widget.ids">{{ value.label }}
<div ng-repeat="id in Widget.ids[key].ids">{{ id }}</div>
</div>
然后列出..
My label
one id
another id
My Other Label
one id
another id
事实上,如果我删除<select>
标记并保留optgroup
等标记,那么它实际上会生成正确的DOM元素。
另外,我不能简单地使用ng-model,因为我会为不同的模型保留它。 (Widget.my.path.widget_id)
那里发生了什么?
答案 0 :(得分:3)
此plunker应该有效:
<select>
<optgroup ng-repeat="(key,value) in data" label="{{value.label}}">
<option ng-repeat="id in value.ids">{{id}}</option>
</optgroup>
</select>