Javascript 树状表示

Javascript 树状表示,javascript,angularjs,Javascript,Angularjs,假设使用以下数据,我想创建一个类似于树视图的表示 var demoData = [ {"name": "person1", "parent": ""}, {"name": "person2", "parent": "person1"}, {"name": "person3", "parent": "person1"}, {"name": "person4", "pare

假设使用以下数据,我想创建一个类似于树视图的表示

var demoData = [
                {"name": "person1", "parent": ""},
                {"name": "person2", "parent": "person1"},
                {"name": "person3", "parent": "person1"},
                {"name": "person4", "parent": "person2"},
                {"name": "person5", "parent": "person3"}
                ];
输出应该是这样的

person1
|--person2
|  |--person4
|--person3
   |--person5
我该如何处理AngularJS。我知道如何在C#中使用递归函数来实现这一点,但我不知道如何在AngularJS中实现这一点

我已经研究了其他问题,但是那里的数据是以不同的方式格式化的,因此子实体直接位于父实体中。

通常(如在C#)可以通过使用
ng include
实现递归调用

一个节点为每个子节点调用
ng include=“'tree\u item\u renderer'

比如:

<script type="text/ng-template"  id="tree_item_renderer">
          <span>
            {{showNode(data)}}
          </span>
        <ul class="some" ng-show="data.show">       
           <li ng-repeat="data in data.nodes"
               ng-include="'tree_item_renderer'" tree-node></li>
        </ul>
</script>

{{showNode(数据)}}
和根调用:

     <ul>
        <li ng-repeat="data in displayTree"
            ng-include="'tree_item_renderer'"></li>
      </ul>
您可以在


Quote“子实体直接在父实体中。”我想这应该是您的目标,重新格式化数据,使其像这样。如果这不可能/超出我的控制范围?几乎所有事情都是可能的,但对我来说,这似乎是最简单的方法