我遇到麻煩,使用AngularJS ng-repeat從不確定的JSON對象創建HTML表。我想做到的是在一個JSON對象飼料與一般格式爲:AngularJS ng-repeat字典與數組值
{
"My First Key" : [0, 1, 2 ..., n],
"My Second Key" : ["Val0", "Val1", ..., "Valn"],
...
"My Nth Key" : [0, 1, 2 ..., n]
}
而且能夠創建一個表格式:
My First Key | My Second Key | ... | My Nth Key |
0 | "Val0" | ... | 0 |
1 | "Val1" | ... | 1 |
... | ... | ... | ... |
n | "Valn" | ... | n |
在字典中的所有值的數組等長。密鑰(IE:「我的第一個密鑰,我的第二個密鑰」的實際值)也是未知的。數組的內容是字符串或數字。每個數組中不存在數據類型的混合。同樣重要的是要注意,當表達式計算結果時,我實際上並不知道每個鍵對應的字符串是什麼。
使用納克重複=「(鍵,值)myArray的」(其中myArray的是在一些控制器中的上述數據結構)可以成功地建立該表的標頭:
<table ng-controller="myController">
<tr>
<th ng-repeat="(key, value) in myArray">{{key}}</th>
</tr>
<tr ng-repeat="???">
<td>{{data}}</td>
</tr>
</table>
這是可能與我的數據結構和限制?如果是這樣,我如何訪問ng-repeat中值的數組值? 需要注意的一點是,我可以通過將多個單列表格並排顯示(請參閱this JSFiddle)來創建期望結果的簡潔版本。不過,我正在尋找一個更優雅的解決方案(只要有太多的列可以放在一條線上,我的Janky版本也會開始崩潰)。
這隻會得到什麼在 '我的第一關鍵字' – Jay
@Jay不明白。爲什麼這隻會得到'我的第一把鑰匙'中的什麼? –
不幸的是我不知道密鑰的實際名稱是什麼,所以這個解決方案對我的用例不起作用。我應該在原來的問題中明確表示,對不起。使用'myArray [Object.keys(myArray)[0]]'自動獲取名稱似乎不起作用。 –