如何使用ng重复对象?

时间:2014-12-03 00:29:13

标签: angularjs ng-repeat

我有以下JS对象:

var test = {
    "John": {"grade": "A", "age": 18},
    "Jack": {"grade": "B", "age": 19},
    "Jill": {"grade": "C", "age": 18},
    // ...
}

我知道在涉及数组时如何使用ngRepeat,即

ng-repeat="(key, value) in test"

但是当我有一个对象时,有没有办法使用ngRepeat

3 个答案:

答案 0 :(得分:2)

您只需要为ng-repeat添加另一个级别:

<div ng-repeat="(name, personInfo) in test">
    <span>{{name}}</span>
    <div ng-repeat="(key, value) in personInfo">
        <label>{{key}}</label>
        <span>{{value}}</span>
    </div>
</div>

http://jsfiddle.net/5v0mcL1o/

答案 1 :(得分:0)

如果所有其他方法都失败了,你可以做一个严格的数组。但是这不能正常工作吗?如果不是,也许这个。未经测试。

// array from obj, then do your thing.

var students = Object.keys(test).map(function (key) {return test[key]});

答案 2 :(得分:-1)

Ng重复在数组上进行交互,因此对于这个对象它不是很有用....但你可以使用:

$ scope.students = Object.keys(test)

然后与学生互动