我有一个简单的下拉列表:
{{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
属性的值。
给你一把小提琴。