使用ng-repeat迭代对象内的数组

时间:2015-07-20 05:19:32

标签: angularjs ng-repeat

我刚刚发布了一个问题。我正在考虑编辑这个问题,但我决定不这样做,所以我不会混淆任何人。不同之处在于属性的类型现在是一个集合(数组)。

{
  "attributes": [{
    "scott": {
      "fullname": "Scott D Man",
      "age": 48
    }
  }, {
    "bill": {
      "fullname": "William Shatner",
      "age": 45
    }
  }]
}

我仍然希望使用ng-repeat来显示相同​​的输出,显示密钥,全名和年龄。

2 个答案:

答案 0 :(得分:3)

您可以按照以下方式执行此操作

  <div ng-repeat="attr in model.attributes">
    <div ng-repeat="(key, value) in attr">
       Name: {{key}}
       Full Name: {{value.fullname}}
       Age: {{value.age}}
    </div>
  </div>

答案 1 :(得分:2)

我说的是这样的话:

<div ng-repeat="attr in model.attributes">
{{getKeys(attr)}}
<div>{{attr[keys[0]]}}</div>
<div>{{attr[keys[0]].fullname}}</div>
<div>{{attr[keys[0]].age}}</div>
</div>

这里的getKeys()函数将是:

getKeys(attr){$scope.keys = Object.keys(attr);}

我仍然会考虑尝试将数据设置为:

{   “attributes”:[{     “属性”:“斯科特”,       “fullname”:“Scott D Man”,       “年龄”:48     }] }