Angularjs 如果子项为空,则隐藏父项

Angularjs 如果子项为空,则隐藏父项,angularjs,Angularjs,如果子li为空,我想隐藏父li。下面是我要隐藏父li标签2的位置 <ul id='ListNav'> <li ng-repeat='mainList in lists.list' ng-hide='subList.length<0' > <a>{{mainList.label}}</a> <ul> <li ng-repeat='subList in mainLi

如果子li为空,我想隐藏父li。下面是我要隐藏父li标签2的位置

<ul id='ListNav'>
    <li ng-repeat='mainList in lists.list' ng-hide='subList.length<0' >
        <a>{{mainList.label}}</a>
        <ul>
            <li ng-repeat='subList in mainList.subList'>{{subList.label}}</li>
        </ul>
    </li>
</ul>

要解决此问题,只需更改:

<li ng-repeat='mainList in lists.list' ng-hide='subList.length<0' >

您不能在该级别使用子列表。请尝试将其更改为mainList.subList


谢谢你,这很有效,现在我知道为什么在我尝试的时候,同样的事情对我不起作用了。原因是因为我的子列表也被过滤了,它在调用MainList ng hide后得到了过滤器。喜欢这个-{subList.label}}谢谢rdz。你的回答和上面差不多。我猜你们两个同时回复了,但我在这里并没有提到我的子列表也被过滤了,这就是为什么它对我不起作用的原因。像这样-{subList.label}}Hmmm,看起来像它的复合体。仍在寻找如何在应用子列表筛选器后运行ng hide的解决方案。这并不复杂,您所问的问题已在此处解决,现在我不明白您对筛选器的含义,也许您应该尝试更新您的问题或创建一个新的OneHanks以获得响应-问题是-在筛选器应用于子列表之前,ng hide正在运行。所以子列表中总是有一些li,所以主列表并没有隐藏。检查此JSFIDLE,我更新了它并显示问题。
<li ng-repeat='mainList in lists.list' ng-show="mainList.subList.length>0" >
<ul id='ListNav'>
        <li ng-repeat='mainList in lists.list' ng-hide='mainList.subList.length==0'> <a>{{mainList.label}}</a>

            <ul>
                <li ng-repeat='subList in mainList.subList'>{{subList.label}}</li>
            </ul>
        </li>
    </ul>