首页 > 解决方案 > 在 AngularJS 中访问对象的参数

问题描述

具有这样的对象结构:

anObject = {
    "name_0" : [{info: "xxx", id: 1}],
    "name_1" : [{info: "aaa", id: 4}],
    "name_2" : [{info: "bbb", id: 6}],
    ... 
};

所以,键是name_[i],值是一个包含一些数据的数组。

我想打印如下数据:

key
- value
key
- value
- value

(一个键可能有多个数组)。所以我使用了两个ng-repeats:

<div ng-repeat="(key, value) in $ctrl.anObject">{{key}}
    <div ng-repeat="x in value">-  {{x}}
</div>  

上面的代码正确显示了它们,但我希望能够而不是整个数组只显示 id,例如:

key
- value.id
key
- value.id
- value.id

我试过这样,但它以与以前版本相同的方式放置数据。

<div ng-repeat="(key, value) in $ctrl.anObject">{{key}}
    <div ng-repeat="x in value">-  {{x.id}}
</div>  

有什么建议么?

标签: javascripthtmlangularjsangularjs-ng-repeat

解决方案


尝试这个

var app  = angular.module('app', []);
app.controller('ctrl', function($scope){

$scope.anObject = {
    "name_0" : [{info: "xxx", id: 1}],
    "name_1" : [{info: "aaa", id: 4}],
    "name_2" : [{info: "bbb", id: 6}],
      
};
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script>
<div ng-app='app' ng-controller='ctrl'>
<div ng-repeat="(key, value) in anObject">{{key}}
    <div ng-repeat="x in value">-  {{x.id}}
</div> 

</div>


推荐阅读