2015-07-16 3 views
0

Здесь есть JSON с вложенными объектами с не постоянного уровнем вложенностиРекурсивных итерация вложенных объектов с angularjs

{ 
    "level": 2, 
    "title": "Subcat_in_cat2", 
    "url": "subcat_in_cat2_url", 
    "id": 5, 
    "parent": { 
     "level": 1, 
     "title": "Cat2", 
     "url": "cat2_url", 
     "id": 2, 
     "parent": { 
     "level": 0, 
     "title": "Cat1", 
     "url": "cat1_url", 
     "id": 1, 
     "vertical_order": 0 
     }, 
     "vertical_order": 0 
    }, 
    "vertical_order": 0 
} 

Как перебирать объекты для создания сухарей из этих данных, как это:

<ul class="breadcrumb"> 
    <li><a href="cat1">Cat1</a></li> 
    <li><a href="cat2">Cat2</a></li> 
    <li><a href="subcat_in_cat2_url">Subcat_in_cat2</a></li> 
</ul> 
+0

Struct все обратное. Должны иметь родителей на высшем уровне, дети вложены внутрь. Гораздо проще использовать массивы также для корневых данных и вложенных детей. – charlietfl

+0

@charlietfl Вы правы, но нет возможности изменить структуру json-данных на сервере. Я должен использовать этот. –

+0

Затем вам нужна дополнительная информация о том, как это используется. Загружается ли он каждый раз, когда требуется новая панировка или данные показывают небольшую часть более крупного объекта? – charlietfl

ответ

0

С Угловым JS, вам нужно будет сделать это, считая, что ваш объект JSON хранится в $ scope.categories:

<ul class="breadcrumb" ng-repeat="cat in categories"> 
    <li><a href="cat.url">{{cat.title}}</a></li> 
</ul> 
+0

К сожалению, это решение не работает должным образом. –

+0

Какую ошибку вы получаете от Углового в консоли JS? – alcfeoh

+0

Я изменил структуру данных на [другой тип] (http://stackoverflow.com/questions/31477576/convert-json-with-nested-objects-to-list-array-in-js) и использовал подход, подобный написанному выше. –

Смежные вопросы