2014-12-03 70 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(測試)

然後互動對學生