2014-09-19 41 views
0

如果孩子li为空,我想隐藏父母li。这里是jsfiddle link,我想隐藏父母li标签TWO。如果孩子为空,请隐藏父母

<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> 

回答

0

为了解决这个问题,只是改变:

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

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

Demo

+0

谢谢它的工作原理,现在我知道为什么当我想同样的事情,并没有为我工作。原因是因为我的subList也被过滤,并且在MainList ng-hide被调用后它得到过滤器。喜欢这个 -

  • {{subList.label}}
  • alflashy 2014-09-19 12:59:07

    +0

    这里是完美的场景http://jsfiddle.net/nepfw2qf/9/ – alflashy 2014-09-19 13:15:41

    0

    你不能使用subList在该级别尝试改变它mainList.subList

    <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> 
    

    http://jsfiddle.net/nepfw2qf/7/

    +0

    谢谢rdz。你的回应与上述几乎相同。我想你们都在同一时间回复,但我没有在这里提到我的子列表也被过滤,这就是为什么它不适合我。像这样 -

  • {{subList.label}}
  • alflashy 2014-09-19 13:03:33

    +0

    这里是完美的场景 http://jsfiddle.net/nepfw2qf/9/ – alflashy 2014-09-19 13:15:23

    +0

    嗯,看起来像它的复杂。仍然在寻找解决方案如何在应用子列表过滤器后运行ng-hide。 – alflashy 2014-09-19 16:46:13