我有一个简单的ng-repeat:
<li ng-repeat="data in myData.Entries">
{{ data.EntryNumber }} --
<strong>From</strong> {{ data.InfoDetails[0].FromDt.substring(6, data.InfoDetails[0].FromDt.length - 2) | date:'MMM yyyy' }} <strong>to</strong>
{{ data.InfoDetails[0].ToDt == null && 'current' || data.InfoDetails[0].ToDt.substring(6, data.InfoDetails[0].ToDt.length - 2) | date:'MMM yyyy'}}
</li>
显示(按预期):
E1 -- From Nov 2011 to current
A1 -- From Jun 2010 to Nov 2011
X1 -- From Apr 2009 to Jun 2010
Z1 -- From Sep 2003 to Jun 2004
我可以将此数据过滤为仅包含少于3年的项目(从当前年度开始)。
我的JS:
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.myData = {
"Entries": [{
"EntryNumber": "E1",
"InfoDetails": [{
"FromDt": "/Date(1320912000000)/",
"ToDt": null,
"RegisteredAs": {
"SurName": "test",
"Title": "MRS"
},
"RegisteredWith": "test"
}]
}, {
"EntryNumber": "A1",
"InfoDetails": [{
"FromDt": "/Date(1276153200000)/",
"ToDt": "/Date(1320912000000)/",
"RegisteredAs": {
"SurName": "test",
"Title": "MR"
},
"RegisteredWith": "test"
}]
}, {
"EntryNumber": "X1",
"InfoDetails": [{
"FromDt": "/Date(1239346800000)/",
"ToDt": "/Date(1276153200000)/",
"RegisteredAs": {
"SurName": "test",
"Title": "MR"
},
"RegisteredWith": "test"
}]
}, {
"EntryNumber": "Z1",
"InfoDetails": [{
"FromDt": "/Date(1063177200000)/",
"ToDt": "/Date(1086850800000)/",
"RegisteredAs": {
"SurName": "test",
"Title": "MR"
},
"RegisteredWith": "test"
}]
}
]
}
});
Heres a plunker:http://plnkr.co/edit/xscddt6AlhxUYIVIklQy?p=preview
答案 0 :(得分:3)
分叉你的plnkr
app.filter('filterList', function() {
return function(items) {
var retn = [];
angular.forEach(items, function(item){
if((new Date().getFullYear()) - (new Date(+item.InfoDetails[0].FromDt.substring(6, item.InfoDetails[0].FromDt.length - 2)).getFullYear()) >= 3){
retn.push(item);
}
});
console.log(retn);
// return items.slice().reverse();
return retn;
};
});
希望这会有所帮助