AngularJs按间隔日期过滤

时间:2014-04-01 09:29:34

标签: angularjs angularjs-scope angularjs-ng-repeat

我正在尝试过滤从rss检索的新闻,以便仅显示在时间/日期间隔内发布的新闻。

在我的html视图中,我已经获得了项目字段

publishedDate":"Mon, 31 Mar 2014 12:57:58 -0700"

和间隔时间,例如24h或以秒为单位或$ scope.timeinterval中的任何内容。

<li ng-repeat="feed in feeds | filter:XXXXX">   

那么,我怎么能在两个区间之间进行比较呢?显示我在控制器中执行此操作?如果是这样,请返回视图?

1 个答案:

答案 0 :(得分:0)

您的过滤器逻辑过于特定于您的要求。最好的方法是使用一个自定义过滤器,它采用表达式的形式 - 在这种情况下是一个函数。

因此,自定义过滤器函数将单个记录作为参数。该函数应返回truefalse,具体取决于是否应在视图中显示传递的记录。

因此,这看起来像:

$scope.customFilter = function (singleRecord) {
    //singleRecord is one record of the repeat directive
    //Here, you add your custom filter logic.

    //Return true if the record should be shown else false
};

您的观点将使用此记录:

<li ng-repeat="feed in feeds | filter:customFilter()"></li>