2015-11-02 69 views
1

我有一個嵌套的表結構,其中一個表基於一個Javascript對象的ng-repeat「metasetHashSplit」來填充,並且該表反過來具有一個表,該表根據名爲「ID」的屬性來填充。如果內部表格中的所有元素都被濾除了,我需要隱藏主要的ng-repeat。我正在使用「管道」/「|」過濾內部表格。 根據內部表中的所有記錄是否被過濾,我無法處理何時或如何觸發ng-show/hide。如何在AngularJS中顯示/隱藏基於「|過濾器」的UI組件?

這是代碼是如何設置:

<tbody ng-repeat="(metaset, ids) in metasetHashSplit"> 
<tr class = "meta"> 
    <td rowspan = 100 >{{metaset}}</td> 
</tr> 
<tr class = "meta" style="margin:0;padding:0;" ng-repeat="item in ids" > 
    <td class = "innerTable"> 
     <table class="table child table-hover table-bordered table-condensed " > 
      <tr ng-repeat="buy in item.Buy | filter:{ MBC: by_buyMBC }" > 
       <td >{{buy.BuyId}}</td> 
       <td >{{buy.BuyRelease}}</span></td> 
       <td >{{buy.BuyComponentAffected}}</td> 
       <td >{{buy.BuyStatus}}</span></td> 
      </tr> 
     </table> 
    </td> 
</tr> 

可能有人幫助我,如果他們發現自己處於這樣一個位置?基本上tbody需要顯示/隱藏:{MBC:by_buyMBC}結果!

回答

2

基於this question使用:

<div ng-repeat="buy in filtered = (item.Buy | filter:{ MBC: by_buyMBC })"> 
</div> 

所以你會怎麼做來顯示和隱藏基於關閉這是正確的元素

+1

這是驚人的使用ng-if="filtered.length > 0"。我怎麼錯過了這個!謝謝你,會試試看看。 – lostalien

+1

我錯過了,直到有一天我需要它 - 然後不得不穀歌像一個壞男孩:D – Chris

+1

看起來像嵌套ng重複的範圍可能會導致很多併發症。例如,var「filtered」無法被父ng-repeat循環識別,需要根據「filtered」來顯示/隱藏 – lostalien

相關問題