AngularJS-如果日期在最近6个月内,则隐藏/显示div

AngularJS-如果日期在最近6个月内,则隐藏/显示div,angularjs,angularjs-ng-repeat,ng-show,angular-filters,ng-hide,Angularjs,Angularjs Ng Repeat,Ng Show,Angular Filters,Ng Hide,我有一个ng repeat,它显示日期列表,以及关于该日期购买的信息 HTML: 当purchasedOn在当前月份的最后6个月内时,如何仅显示{{data.purchaseDescription}} function addMonths(date, months) { date.setMonth(date.getMonth() + months); return date; } 然后定义一个函数以获取布尔显示/隐藏值: function shouldHide(purchasedOn)

我有一个
ng repeat
,它显示日期列表,以及关于该日期购买的信息

HTML:


purchasedOn
在当前月份的最后6个月内时,如何仅显示
{{data.purchaseDescription}}

function addMonths(date, months) {
  date.setMonth(date.getMonth() + months);
  return date;
}
然后定义一个函数以获取布尔显示/隐藏值:

function shouldHide(purchasedOn){
    var purchaseDate = Date.parse(purchasedOn);
    var sixMonthsAgo = addMonths(new Date(), -6); 
    var hide = purchaseDate < sixMonthsAgo ? true : false;
    return hide;
}
您可以这样使用它:

$scope.filterOldDates = function(date)
{
    if(shouldHide(date)){
        return false; 
    }
    return true; 
};
<div ng-repeat="data in MyData | filterOldDates">


我想在ng repeat上实现一个自定义过滤器。@CodeHater-你有一个例子吗?我在下面的答案中添加了一个例子
<p ng-hide={{shouldHide(data.purchasedOn)}}>
    {{ data.purchaseDescription }}
</p>
$scope.filterOldDates = function(date)
{
    if(shouldHide(date)){
        return false; 
    }
    return true; 
};
<div ng-repeat="data in MyData | filterOldDates">