2016-11-22 5 views
0

こんにちは、私は新しい角度で、 の過去データでデータを表示し、今日+将来のデータを表示したいと考えています。 今後のデータと過去のデータをフィルタリングする方法

//Here is the HTML code for Past Events 
<div ng-repeat="event in events | filter:pastDate"> 
<p>{{event.name}} 
<div> 

//Here is the HTML code for Future Events 
<div ng-repeat="event in events | filter:futureDate"> 
<p>{{event.name}} 
<div> 

各イベントは、開始日と終了日を持っている

、 は、誰もがこれを達成する方法を説明していただけます。

+0

を試してみてください。 –

+0

@Kranthiは、イベントオブジェクトの構造など、あなたの質問に関するいくつかの情報を提供できますか? – sreeramu

+0

これが役に立ちます:http://stackoverflow.com/questions/25515431/ng-repeat-filtering-data-by-date-range – Cruzer

答えて

0

今日よりも大きい場合には、今日、その後PastDateよりも、その後FutureDateそれ以外であれば小さいこの

var myApp = angular.module('app', []); 
 
myApp.controller('TestController', ['$scope', function($scope) { 
 
    var d = new Date();   
 
    d.setDate(d.getDate() - 1); 
 
    $scope.events = [{date:new Date}, {date: new Date()},{date: d}];  
 
    prepareDate = function() { 
 
     var date = new Date(); 
 
     date.setHours(0); 
 
     date.setMinutes(0); 
 
     date.setSeconds(0); 
 
     return date; 
 
    } 
 
    $scope.pastDate = function(actual){ 
 
     return actual.date < prepareDate();   
 
    } 
 
    $scope.futureDate = function(actual){ 
 
     return actual.date >= prepareDate();   
 
    } 
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="app"> 
 
    <div ng-controller="TestController"> 
 
    <h4>Past:</h4> 
 
    <div ng-repeat='event in events | filter : pastDate'>{{event.date| date:'yyyy-MM-dd HH:mm:ss'}}</div> 
 
    <h4>Future:</h4> 
 
    <div ng-repeat='event in events | filter : futureDate'>{{event.date| date:'yyyy-MM-dd HH:mm:ss'}}</div> 
 
</div> 
 
</body>

関連する問題