Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度指令中的无限嵌套ng repeat_Javascript_Angularjs - Fatal编程技术网

Javascript 角度指令中的无限嵌套ng repeat

Javascript 角度指令中的无限嵌套ng repeat,javascript,angularjs,Javascript,Angularjs,我有一个包含无限嵌套数据的对象,如以下示例: [ { name: "Foo", value: "Bar", sub: [ { name: "ABC", value: "LLL", sub: [ ... ] }, { ... } ] }, { n

我有一个包含无限嵌套数据的对象,如以下示例:

[
{
    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)可以吗?

是的,可以使用内联模板

例如:

<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>

{{item.name}
在html中

<ul>
   <li ng-repeat="item in items" ng-include="'namVal'"></li>
</ul>  
通过@alexandernst使用Plunkr示例进行更新

谢谢!我现在就试试,我想我会在几个小时后接受答案;)好的,我在某个点得到一个无限循环。检查此项:在第26行中,如果我将
sub.sub
更改为
item.sub
,它将冻结。我做错了什么?