如何在AngularJS ng-repeat中获取项目键?

时间:2014-10-18 14:13:01

标签: javascript angularjs angularjs-ng-repeat ng-repeat

文档:https://code.angularjs.org/1.2.26/docs/api/ng/directive/ngRepeat

  

ngRepeat指令从a中为每个项目实例化一次模板   采集。每个模板实例都有自己的范围,给定的范围   loop变量设置为当前集合项,并设置$ index   到项目索引或键。

我似乎得到索引而不是


控制器:

$scope.items = {
  "key1" : "val1",
  "key2" : "val2"
};

查看:

<div class="item" ng-repeat="item in items">{{ $index }} {{item}}</div>

结果:

0 val1
1 val2

http://plnkr.co/edit/0g9EL6kqYcm4jNpdDZ9L?p=preview

我想显示,在这种情况下应该是key1key2。是否有特殊的语法?

2 个答案:

答案 0 :(得分:2)

尝试

<div class="item" ng-repeat="(key, value) in items">{{ $index }} {{key}} {{value}}</div>

答案 1 :(得分:0)

应该是这样的:

<div class="item" ng-repeat="(key, val) in items">{{ key }} {{ val }}</div>

这里是plnkr:http://plnkr.co/edit/nWqK8rFVaKzzEpbAuqdx?p=preview

以下是文档中的对应点:

  表达式中的

(键,值) - 其中键和值可以是任何用户   定义的标识符,表达式是给出的范围表达式   集合以进行枚举。

     

例如:{&#39; adam&#39;:10,&#39; amalie&#39;:12}中的(姓名,年龄)。

https://code.angularjs.org/1.2.26/docs/api/ng/directive/ngRepeat