在ng-options中使用索引

时间:2014-11-10 01:28:57

标签: angularjs

我有一个显示数组元素的选择。我想将此select绑定到元素的索引。我有这个代码

var choices = [
  'One',
  'Two',
  'Three'
];

<select
  ng-model="model.choice"
  ng-options="idx as choice for (idx, choice) in choices">
</select>

这样可行但是如果数组有超过10个元素,则select中选项的顺序与数组中元素的顺序不匹配。似乎角度确实是一种&#34;值&#34;保存数组中元素索引的选项属性,不带前导零,因此排序为&#34; 1&#34;,&#34; 10&#34;,&#34; 2&#34;,&# 34; 3&#34;,...

我该如何解决这个问题并按照它们在数组中出现的顺序枚举选项?

1 个答案:

答案 0 :(得分:0)

如果我们查看此处找到的Angular select指令的文档:

https://docs.angularjs.org/api/ng/directive/select

我们看到ngOptions的值有两组特定的语法。一个用于数据是一个数组,一个用于它是一个对象。在您的示例中,当数据是数组时,您已使用对象数据源的模式。

具体做法是:

ng-options="idx as choice for (idx, choice) in choices"

仅在名为choices的变量是对象时适用。