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">