在AngularJS中访问对象的参数

时间:2018-05-07 13:44:42

标签: javascript html angularjs angularjs-ng-repeat

拥有这样的对象结构:

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-repeat s:

<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>  

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

试试这个

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>