在字典(对象)中使用ng-options迭代

Ole*_*sov 19 angularjs ng-options

我需要使用ng-options迭代以下对象:

var a = {
'optionName1': 'optionValue1',
'optionName2': 'optionValue2',
'optionName3': 'optionValue3',
'optionName4': 'optionValue4',
};
Run Code Online (Sandbox Code Playgroud)

我从第三方资源获得此格式的此对象,我宁愿不手动重新安排它.

我已经进行了谷歌搜索,并查看了文档,它只处理我可以告诉的对象列表和对象列表.

Alw*_*ner 32

对于这样的模型:

$scope.options = {
    'optionName1': 'optionValue1',
    'optionName2': 'optionValue2',
    'optionName3': 'optionValue3',
    'optionName4': 'optionValue4',
};
Run Code Online (Sandbox Code Playgroud)

您可以创建如下选项:

<select ng-change="change()" ng-model="votes.status" 
ng-options="v for (k,v) in options">
</select>
Run Code Online (Sandbox Code Playgroud)

  • 好!只有一点需要指出的是,你可以随意重命名,也许`k`和`​​v`对你没有任何意义.您可以这样做:`ng-options ="选项中的(id,value)值 (2认同)
  • 这是有效的,但是,如果我们需要在下拉列表中显示值,ng-model 获取的值 ('optionValue1') 会怎样,但是在选择时,模型应该获取键。例如,在选择 'optionValue1' 时,模型应保留 'optionName1' (2认同)