Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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 带平面的树景<;李>;结构_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 带平面的树景<;李>;结构

Javascript 带平面的树景<;李>;结构,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我正在AngularJS中创建一个可重用的TreeView组件,它将以下对象作为输入 [ { label: "1", children: [{ label: "1.1", children: [{ label: "1.1.1", }] }, {

我正在AngularJS中创建一个可重用的TreeView组件,它将以下对象作为输入

[
    {
        label: "1",
        children: [{
                label: "1.1",
                children: [{
                    label: "1.1.1",
                }]
            },
            {
                label: "1.2",
            }
        ]
    },
    {
        label: "2
    }
]
并且应该为此提供一个树状视图。出于许多原因,我希望生成的HTML结构由平面'li'组成

例如

  • 一,
  • 1.1
  • 1.1.1
  • 1.2
  • 二,
其他要求:

  • 没有程序化的结构扁平化。它应该只是一个 聪明的指令
  • 应该深入到任何层次

这是可以玩的游戏。到目前为止,我只能渲染第一级。谢谢大家!

在Angular2中,可以递归地呈现指令。这使得渲染树非常容易。我对你的建议做了一点修改,只是为了说明这一点。这不是理想的实现,但它按预期工作:)

例如:

@组件({
选择器:“树视图”,
模板:'
',
指令:[树视图]
})
导出类树视图{
@输入()
私有目录:数组;
}
<ul>
    <li> 1 </li>
    <li> 1.1 </li>
    <li> 1.1.1 </li>
    <li> 1.2 </li>
    <li> 2 </li>
</ul>