当我尝试对哈希数组进行ng-repeat时,键似乎成为索引。那么如何才能获得这样一个对象的密钥呢?
[
{
"3000:501:001": {
"End Date": "05/05/2013",
"Term": "Spring Semester 2013",
"Title": "Cooperative Education",
"Career": "Graduate",
"Section": "001",
"Days": "T.B.A.",
},
{
"6200:660:801": {
"End Date": "05/05/2013",
"Term": "Spring Semester 2013",
"Career": "Graduate",
"Section": "801",
"Days": "M",
}
}
]
当我在课程“
中执行ng-repeat =”(键,课程)时键只是索引0和1。
我需要获得“3000:501:001”和密钥所指的对象。我不知道关键名称。
答案 0 :(得分:2)
您需要使用另一个ng-repeat来迭代对象。
但我强烈建议尽可能为您的数据设置不同的结构。您可以将冒号分隔的数字作为内部对象的属性。
答案 1 :(得分:1)
为了实现您的期望,您不会将对象包装在数组中并将它们转换为单个对象。您获得0,1
等的原因是数组中的key
是它的索引值
JS
$scope.items={
"3000:501:001": {
"End Date": "05/05/2013",
"Term": "Spring Semester 2013",
"Title": "Cooperative Education",
"Career": "Graduate",
"Section": "001",
"Days": "T.B.A."
}
};
HTML
<li ng-repeat="(id,item) in items">{{id}}
<div ng-repeat="(key,value) in item">{{key}}: {{value}}</div>
</li>
DEMO:http://plnkr.co/edit/vyNN7HCx1t6lHD73gTLC?p=preview
通常,为ng-repeat
使用数组更方便,并重新构建数据。它也不需要额外的ng-repeat
来访问嵌套对象