数组ng-options循环数组找不到值

时间:2017-09-01 21:12:08

标签: javascript c# angularjs

我在C#controller中发送生成一个列表并将其转换为Json,并在前端角度接收。当我尝试使用ng-options来循环这个数组并获得数组值时,我总是得到索引。

<select class="selectpicker" data-show-subtext="true" data-live-search="true" ng-model="groupArray" ng-options="k for (k,v) in groupArray">

enter image description here

3 个答案:

答案 0 :(得分:0)

您是否在ng-options

中尝试过此操作

v for (k,v) in groupArray

(我目前无法尝试,但我不确定,但值得一试)

答案 1 :(得分:0)

根据您的对象结构,您只需使用。

v for (k,v) in groupArray

k是键,它将返回索引,如果你想访问任何给定对象的属性值,你可以尝试类似的东西。

v.propertyname for (k,v) in object

其中propertynameobject结构中的属性。

有关详细信息,请参阅ngOptions docs ngOptions

答案 2 :(得分:0)

一个简单的工作示例应该是这样的:

控制器内部

$ scope.JSONdata = [{                 &#39;名称&#39; :&#39;名称1&#39;,                 &#39; SNAME&#39; :&#39; Sname 1&#39;             },             {                 &#39; name&#39;:&#39; Name 2&#39;,                 &#39; sname&#39;:&#39; Sname 2&#39;             },             {                 &#39; name&#39;:&#39; Name 3&#39;,                 &#39; sname&#39;:&#39; Sname 3&#39;             }]

从前端

<select ng-model='selectedName'
                ng-options='item as item.name for item in JSONdata'>            
</select>

//Retrieves the whole object. From here you can access both name and 
//sname of the selected item.
SelectedObject : {{selectedName}} 

ng-options的工作原理如下:

  1. 检索整个项目
  2. 在选项中仅显示item.name (选择)
  3. 循环遍历JSONdata范围中的每个项目 变量