Немного опоздал на вечеринку, если вы все еще хотите решить эту проблему с помощью рекурсивной директивы, это зависит от того, как выглядит ваша структура данных, но исходя из того, что вы опубликовали, она выглядит следующим образом:
{
"profileName": "",
...
"items": [{
"label": "title1",
"class": "class1",
"items: [...]
},{
"label": "title1",
"class": "class1",
"items: [...]
}]
}
Вы можете разделить их на две директивы:
- Одна - это родительская директива sidePanel, которая содержит верхний уровень
- Одна - это директива menuList, которая будет рекурсивно отображать подэлементы
// profile image
// profile name
// etc
<menu-list items="leftMenu.items"></menu-list>
где шаблон списка меню был похож на:
<ul>
<li ng-repeat="item in items">
<span class="{{item.class}}">{{item.label}}</span>
<menu-list ng-if="item.items" items="item.items"></menu-list>
</li>
</ul>
Таким образом, в каждом экземпляре объекта меню (метка, класс, элементы) элементы будут преобразованы вподменю-список.Возможно, вам придется немного поиграть с ним и добавить некоторые другие функции.