角度ng-重复依赖于先前的ng-重复

时间:2014-12-02 01:03:47

标签: angularjs angularjs-ng-repeat ngtable angular-filters

我已经坚持这个问题已经两天了,并没有找到合适的问题/示例来帮助我解决问题。

基本上我试图使用ng-repeat生成类别列表,有时这些类别有子类别。当存在子类别时,它应该出现,而当没有子类别时,它应该不出现。

此外,我需要使用<%tr%>生成这些内容。标签。 (我几乎能够根据需要使用' GroupBy'指令,但无法使用<%tr%>标记)。

http://plnkr.co/edit/0Yjp4B9y0STsm6NZQGBk

<table ng-table="tableParams" class="table">
<tbody >

<tr ng-repeat-start="user in steps | filter:categoryFilter" ng-class="{subcategory:user.SubCategory==1}">
    <td data-title="'Step Name'" ng-class="{textcolorpink:user.SubCategory==1,textcolorblue:user.SubCategory==0}">
        {{user.CategoryName}}
    </td>
    <td data-title="'SubStep'" ng-class="{textcolorwhite:user.SubCategory==0}">
        {{user.CategoryName}}
    </td>

</tr>

<tr ng-repeat-start="subuser in steps | filter:subcategoryFilter" ng-class="{subcategory:subuser.SubCategory==1}">
    <td data-title="'Step Name'" ng-class="{textcolorpink:subuser.SubCategory==1,textcolorblue:subuser.SubCategory==0}">
        {{subuser.CategoryName}}
    </td>
    <td data-title="'SubStep'" ng-class="{textcolorwhite:subuser.SubCategory==0}">
        {{subuser.CategoryName}}
    </td>

</tr>
<tr ng-repeat-end ng-hide="true"></tr>
<tr ng-repeat-end ng-hide="true"></tr>

</tbody>

这个plunker应该是这样的:
主要类别1
-------子类别1
-------子类别1
-------子类别1
主要类别2
主要类别3
-------子类别3
-------子类别3
-------子类别3
主要类别4
主要类别5
主要类别6
主要类别7
主要类别8

1 个答案:

答案 0 :(得分:1)

ng-hide="subuser.MainCategory !== user.index_id"

Plunker:http://plnkr.co/edit/NWL3K7ZMr6qgd9MFWG3N?p=preview

我希望这就是你要找的东西。我不完全确定你要用你的所有代码完成什么,但是这将隐藏任何不是它们嵌套在其中的项目的子类别的项目。

如果您有更改数据模型的选项,则可以在mainCategories中嵌套子类别。嵌套的ng-repeats往往效果很好,比使用ng-hide更清洁。