2015-09-04 78 views
1

我有一個表,我已經給它使用ng-class的CSS,如果他們滿足條件。現在我只想顯示那些按鈕點擊時滿足相同條件的行。我寫了一個控制器,它檢查接收到的數據是否在24小時內不是數據單元並標記數據單元。在此之前它正在工作。現在我需要添加一個按鈕,並只顯示這個td標記爲沒有及時收到的行。隱藏表角行Js

<tbody> 

     <tr ng-repeat ="data in log"> 
      <td>{{data.UniqueId}}</td> 
      <td>{{data.Name}}</td> 
      <td ng-class ="{'data-notreceived' : dataNotReceived('data.receivedTime')}">{{data.receivedTime 
     }} 
     </tbody> 
    </table> 
+0

向我們顯示您的代碼。你現在的問題是模糊的,情況如何? – yvesmancera

+0

@yvesmancera編輯它。 – Priya

+0

你在哪裏{{{花括號}}?! – SuperVeetz

回答

1

我覺得像這樣的東西應該工作。基本上,單擊該按鈕將在顯示全部或僅顯示標記爲「未收到數據」的項目之間切換。

<tbody> 
    <tr ng-repeat ="data in log" ng-show="showAll || dataNotReceived(data.receivedTime)"> 
    <td>{{data.UniqueId}}</td> 
    <td>{{data.Name}}</td> 
    <td ng-class ="{'data-notreceived' : dataNotReceived('data.receivedTime')}">{{data.receivedTime}} 
    </tr> 
</tbody> 

// in controller 
$scope.showAll = true; 

$scope.onButtonClick = function() { 
    $scope.showAll = !$scope.showAll; 
    return false; 
} 
+0

謝謝@GPicazo,但是我正面臨着這個問題:[$ rootscope:infdig] 10 $ digest()迭代達到了。 – Priya

+0

這工作完美,我的代碼中有一些語法錯誤!謝謝一噸:) :) – Priya

+0

不客氣。請將答案標記爲已接受。 – GPicazo

1

從所提供的信息我可以說的是:使用ng-show根據您的條件顯示行。

<tr ng-show ="your_condition"> 
+0

謝謝,我想同樣,但面臨角度問題的錯誤:[$ rootscope:infdig] 10美元digest()迭代達到 – Priya

+0

@Priya我希望這個地址類似的情況:http://stackoverflow.com/questions/14376879/error -10-digest-iterations-reached-aborting-with-dynamic-sortby-predicate –

+0

非常感謝,解決了問題! – Priya

0

你也可以使用一個NG-如果而不是NG-表演。查看差異here

真的取決於隱藏/顯示切換需要發生的頻率。

<tbody> 
     <tr ng-repeat="data in log" ng-if="showLast24Hrs(data.ReceivedTime)"> 
      <td>{{data.UniqueId}}</td> 
      <td>{{data.Name}}</td> 
      <td>{{data.ReceivedTime}}</td> 
     </tbody> 

,然後在控制器,

$scope.showLast24Hrs = function(receivedTime){ 
    if($scope.isLast24Hours) { 
     return receivedTime < 200; // Write your less than 24 hours check here 
    } 
    return true; 
    } 

我寫了這個demo on Codepen。希望有所幫助。