我有一个包含无限嵌套数据的对象,如下例所示:
[
{
name: "Foo",
value: "Bar",
sub: [
{
name: "ABC",
value: "LLL",
sub: [
...
]
},
{
...
}
]
},
{
name: "Oof",
value: "Rab"
sub: [
...
]
}
]
每个元素都可以包含sub
值,该值包含一个或多个具有相同结构的元素(name
,value
,sub
如果有更多子元素元件)。
现在,我知道如何使用ng-repeat
,但只使用一个ng-repeat
,我只会获得第一级的元素。如果我在第一个内部做了第二个ng-repeat
,我只会从第二个等级获得项目......
由于我不知道会有多少级别,所以我不能在彼此内嵌一些ng-repeat
。这就是为什么我正在寻找一种方法来递归遍历整个数据数组并表示Angular指令内部的所有项目(也就是说,在我的HTML代码中使用Angular的指令/属性) )。这是否可以使用Angular(1.3.x)?
答案 0 :(得分:11)
是的,可以使用内嵌模板
示例:
&FileInfoInternal{}
in html
<script type="text/ng-template" id="namVal">
{{ item.name}}
<ul ng-if="item.sub">
<li ng-repeat="item in item.sub" ng-include="'namVal'"></li>
</ul>
</script>
使用@alexandernst的Plunkr示例更新 http://plnkr.co/edit/dKlrvtYH1IbQXFUEk2Wx?p=preview