我的范围内有一个JSON对象,如下所示:
$scope.props =
{
'prop1': { 'att': 10 },
'prop2': { 'att': 20 },
...
'propN': { 'att': 42 }
};
我使用select
ng-options
<select ng-options="propName for (propName,propVal) in props"
ng-model="selectedProp"></select>
选项prop1
,prop2
等会显示在下拉框中。当我选择其中一个选项时,propVal
会存储在selectedProp
。
但是,我需要存储实际属性名称,而不是其值。我完全可以忽略这个值 - 我只需要选择的属性名称字符串,例如&#34; prop2&#34;。
这在AngularJS中是否可行?
答案 0 :(得分:6)
这对你有用吗?
<select ng-options="key as key for (key , value) in props"
ng-model="selectedProp"></select>
您可以在angular docs中找到更多信息,但基本上key as key
指的是value_to_store as value_to_display
。因此,您希望在模型中存储所选对象的属性名称(键),并将其显示为相同的属性名称。
答案 1 :(得分:0)
试试这个
<select ng-model="selectedProp"
ng-options="myProp.propName as myProp.propName for myProp in props">