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) を実行すると"

キーはインデックス 0 と 1 だけです。

「3000:501:001」とキーが参照するオブジェクトを取得する必要があります。キー名がわかりません。

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 に答える