用条件应用AngularJS日期过滤器



我刚开始使用AngularJS,却遇到了一个问题。

我有一个日期字段显示在网格中。日期格式应该是相对格式,如"1天前,10分钟前...."。因此,我使用timeAgo,所以它正确地格式化日期。

但是我有这样的要求:

如果last_updated_time小于10天,则显示相对时间,如"1天前,10分钟前....",否则不应用任何过滤器。

这是我的代码片段。

<td data-title="'Last modified'" sortable="'last_updated_time'" align='center'>
    {{offer.last_updated_time | timeAgo }}
</td>

如果有人能指导我怎么做就太好了。

使用函数获取:

$scope.getTimeAgo = function(last_updated_time ){
     var today = new Date();
     var days = today.diff(last_updated_time , 'days');
     if(days > 10)
        return last_updated_time;
     else
        return moment(last_updated_time).fromNow();
 };

那么你可以像这样使用:

{{getTimeAgo(offer.last_updated_time)}}

PS:我使用的是momentjs的时间以前,但你可以应用你的时间以前的函数到else如果你想使用你的过滤器。

最新更新