Angular.js从hash/对象中进行选择



我有一个简单的下拉列表:

 {{x}}            
 <select ng-model="x" ng-options="k for k in [1,2,3]"></select>

easy:{{x}}将替换为选定的值1、2或3。

但如果我的数据看起来像这样呢?

 <select ng-model="x" ng-options="k.a for k in [{a:1},{a:2},{a:3}]">

我想要一个,两个和三个,这取决于选择,但我通常得到"{a:1}"。

嗯。。这表明我可能得不到我想要的。想法?

您只缺少一块。

如果你看一下ng-options的文档,理解表达可以采取几种形式。

你的表格是label for value in array。使用此表单,当您选择一个选项时,它会为您提供数组项的整个值,在您的情况下,它类似于{a: 1}

您可以使用的其他形式之一是select as label for value in array。您从中插入一个额外的表达式,表达式的结果将绑定到您的模型。

所以类似于:

ng-options="k.a as k.a for k in [...]"

然后,您将获得所选数组项的a属性的值。

给你一把小提琴。

最新更新