簡體   English   中英

AngularJs-嵌套ng-repeat

[英]AngularJs - Nested ng-repeat

我試圖遍歷給定的JSONObject,其中包含JSONArray並以html顯示。 因此,這是示例:

jsonData:

{
    "category1": [
        {
            "name": "Some title",
            "desc": "And its description"
        },
        {
            "name": "Another title here",
            "desc": "Also description here"
        }
    ],
    "category2": [
        {
            "name": "Dummy name",
            "desc": "Lorem ipsum etc."
        }
    ],
    "category3": [
        {
            "name": "Blah",  
            "desc": "Blah blah"
        }
    ]
}

HTML:

<div ng-repeat="category in vm.jsonData track by $index">
    <h3>{{ category }}</h3>
    <ul>
        <li ng-repeat="item in category">
            <span><b>{{ item.name }}</b></span><br/>
            <span>{{ item.desc }}</span>
        </li>
    </ul>
</div>

到目前為止,我可以得到namedesc正確,但我錯過category在HTML中。 任何幫助,將不勝感激。

您需要ng-repeat作為<div ng-repeat="(key, value) in vm.jsonData track by $index">

演示

 var app = angular.module('testApp',[]); app.controller('testCtrl',function(){ this.jsonData = { "category1": [ { "name": "Some title", "desc": "And its description" }, { "name": "Another title here", "desc": "Also description here" } ], "category2": [ { "name": "Dummy name", "desc": "Lorem ipsum etc." } ], "category3": [ { "name": "Blah", "desc": "Blah blah" } ] }; vm = this; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <body ng-app="testApp" ng-controller="testCtrl as vm"> <div ng-repeat="(key, value) in vm.jsonData track by $index"> <ul> {{key}} <li ng-repeat="item in value"> <span>{{ item.name }}</span> <span>{{ item.desc }}</span> </li> </ul> </div> </body> 

在您的情況下,您需要訪問元素的關鍵字“ category1”。

您可以使用以下語法來做到這一點

ng-repeat="(key, value) in data"

這里為您的示例工作jsfiffle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM