2014-12-03 76 views
0

我有以下的JS对象:如何在对象中使用ngRepeat?

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时,我有一个对象的方法吗?

+1

你有什么不是JSON,而是一个JavaScript对象。 JSON始终是JavaScript对象的字符串表示形式。 – Kolban 2014-12-03 00:41:11

回答

2

你只需要添加另一个级别为NG而重复:

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

0

如果一切都失败了,你可以做一个严格的数组。尽管如此,这不正常吗?如果不是,也许这个。未经测试。

// array from obj, then do your thing. 

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

吴交互重复一个数组,所以这个对象不是非常有用....但是你可以使用:

$ scope.students = Object.keys(测试)

然后互动对学生