我的数组是这样的:
$scope.states = [{
"AB" : "Abia",
"AJ" : "Abuja",
"AN" : "Anambra"}];
这是HTML:
<select ng-options="state for state in states">
<option value=""></option>
</select>
如何正确传递它?
答案 0 :(得分:3)
您的states
是一个包含单个元素的数组 - 一个状态为键/值对的对象。您仍然可以使用ng-options
的对象 - 不确定为什么需要数组 - 只要您使用"... in states[0]"
引用源对象。
ng-options
还需要ng-model
。
<select ng-model="selectedState"
ng-options="key as state for (key, state) in states[0]">
</select>
以上将selectedState
设置为key
(即缩写)。您也可以将其设置为state
。
当然,如果您不需要states
成为单个元素的数组并将其设置为元素本身,那么您可以将其称为"...(key, state) in states"
而不是{{ 1}}。
答案 1 :(得分:1)
<强> JS:强>
$scope.states = {
"AB" : "Abia",
"AJ" : "Abuja",
"AN" : "Anambra"};
<强> HTML:强>
<select ng-options="k as v for (k,v) in states"></select>