2014-12-19 58 views
0

我該如何隱藏item-divider,當我使用過濾器時沒有列表項?這是代碼:AngularJs如何隱藏沒有項目的項目分隔線

<div ng-repeat="elem in codeList | orderBy:predicate:reverse"> 
    <div class="item item-divider"> 
     {{elem.data}} 
    </div> 
    <ul class="list"> 
     <li class="item item-icon-right" ng-repeat="item in elem.array | filter:search" ng-click="action(item)"> 
      <h2>{{item.text}}</h2> 
      <i class="icon ion-{{item.icon}}"></i> 
     </li> 
    </ul> 
</div> 

我想知道如何在「角度的方式」。

回答

0

我會去NG隱藏

<div class="item item-divider" ng-hide="elem.array.length == 0"> 
    {{elem.data}} 
</div> 
+0

這是行不通的,因爲'elem.array'可能有一些項目,但它們都可以被過濾掉,從而'elem.array.lengt> 0'但實際列表將是空的。 –

+0

我會說'ng-if'更好。 – Eugene

+0

@NewDev我沒有看到過濾器很好,我想我們可以找到一種語法。 –

1

你需要你的別名過濾列表與as filteredItems(可與角1.3),並使用filteredItems.length有條件地顯示/隱藏您的item-divider

<div ng-show="filteredItems.length" class="item item-divider"> 
    {{elem.data}} 
</div> 
<ul class="list"> 
    <li class="item item-icon-right" 
     ng-repeat="item in elem.array | filter:search as filteredItems" 
     ng-click="action(item)"> 
     <h2>{{item.text}}</h2> 
     <i class="icon ion-{{item.icon}}"></i> 
    </li> 
</ul> 
+0

謝謝!奇蹟般有效! –