Javascript 嵌套表,三层。(孙辈们怎么办?)

Javascript 嵌套表,三层。(孙辈们怎么办?),javascript,angularjs,Javascript,Angularjs,我有一个三级数据结构(父、子、孙),看起来像这样: $scope.data = [ { ID: '1', Title: 'Parent Titile 1', children: [ { ID: '1.1', Title: 'Child Title 1.1', children: [ {ID: '1.1.1', Title: 'grandchild title 1.1.1'} ] }, { ID: '1.2', Title: 'Child Ti

我有一个三级数据结构(父、子、孙),看起来像这样:

 $scope.data = [
  { ID: '1', Title: 'Parent Titile 1', children: [
    { ID: '1.1', Title: 'Child Title 1.1', children: [
      {ID: '1.1.1', Title: 'grandchild title 1.1.1'}
      ]
    },
    { ID: '1.2', Title: 'Child Title 1.2', children: [
      {ID: '1.2.1', Title: 'grandchild title 1.2.1'}
      ]
    },
    ]
  }, 
  { ID: '2', Title: 'Parent Titile 2', children: [
    { ID: '2.1', Title: 'Child Title 2.1', children: [
      {ID: '2.1.1', Title: 'grandchild title 2.11'}
      ]
    }
    ]
  }
];
使用我成功地将此结构显示为两个级别,我想在不使用智能表的情况下它是相同的,但我就是这样做的:

<table st-table="displayedCollection" st-safe-src="safeCollection" class="table table-bordered table-hover">
<thead>
<tr>
    <th></th>
    <th>#ID</th>
    <th>Title</th>
</tr>
</thead>
<tbody ng-repeat="row in displayedCollection">
<tr>
    <td> <span ng-class="{'fa fa-plus fa-fw': !row.isCollapsed, 'fa fa-minus fa-fw': row.isCollapsed}"></span> </td>
    <td ng-click="row.isCollapsed = !row.isCollapsed"> {{row.ID}}</td>
    <td> {{row.Title}} </td>
</tr>
<tr uib-collapse="!row.isCollapsed" ng-repeat="child in row.children">
    <td></td>
    <td> {{child.ID}} </td>
    <td> {{child.Title}} </td>
</tr>
</tbody>

#身份证
标题
{{row.ID}}
{{row.Title}}
{{child.ID}
{{child.Title}

如您所见,我使用了两个
,其中一个迭代每行中的子项

因此,这将显示一个表,其父表上有ng repeat,其子表上有另一个ng repeat,使用我能够用指令隐藏子表,并在单击父表时显示它们,有点像树视图

我不能做的是显示第三级(孙子)。我不能简单地创建另一个
并转到
ng repeat=“行中的孙子.孩子.孩子”

我怎样才能像展示孩子一样展示孙子孙女呢

编辑:使用一个有效的两级示例

obs!我不擅长头衔,如果你能想出一个更合适的,请现在就告诉我,让人们理解

编辑2:多亏了对
ng repeat start
ng repeat stop
的解释,我在某种程度上做到了我想要的。。我觉得这变得非常复杂,它给了我一个额外的
来结束重复

和工作的孙子们在一起

在这个版本中,孙子孙女不会在他们的父母崩溃时崩溃,他们应该这样做,但这是另一个问题


尽管如此,我觉得这不是最佳解决方案,因此我仍在寻找更好的方法来实现这一点

这是一种显示三个级别的简单方法:

<div ng-repeat="row in displayedCollection">
    <span>{{row.ID}}</span>

    <div ng-repeat="child in row.children">
        <span>{{child.ID}}</span>

        <div ng-repeat="grandchild in child.children">
            <span>{{grandchild.ID}}</span>
        </div>
    </div>
</div>

{{row.ID}}
{{child.ID}
{{grander.ID}

您并不是从一个好的方向来实现这一点的。在一张桌子上有多个tbody这是违背其目的的。尝试使用嵌套的div而不是表。通过这种方式,您可以根据需要进行任意级别的操作。@MihaiRăducanu我将研究这种方法,但我喜欢这个解决方案(到目前为止),我认为它看起来不错,至少有两个级别。nvm。。通过添加对
行的检查,解决了孙辈崩溃问题。在孙辈级别,isCollapsed
,trIt可以工作,如果无法使表工作,我可能会使用它,但我希望使用表(精确地说是智能表)提供的一些函数,因此我必须继续尝试。感谢您的帮助,在2级表中表示3级数据可能会很困难(二维)