0

当我尝试对哈希数组执行 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="(key, course)"

key 只是索引 0 和 1。

我需要得到“3000:501:001”和 key 所指的对象。我不知道键名。

4

2 回答 2

2

您将需要另一个 ng-repeat 来迭代对象。

但如果可能的话,我强烈建议您使用不同的数据结构。您可以将冒号分隔的数字作为内部对象的属性。

于 2013-03-22T19:59:47.327 回答
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>

演示:http ://plnkr.co/edit/vyNN7HCx1t6lHD73gTLC?p=preview

一般来说,使用数组ng-repeat和重组数据更方便。它也不需要额外的东西ng-repeat来访问嵌套对象

于 2013-03-23T14:58:30.663 回答