我有一个未排序的对象数组:
[{ name: 'Daryl', interview: Sun May 19 2016 }, { name: 'John', interview: Monday May 30 2016 }, { name: 'Jim', interview: Monday May 30 2016, cancelled: true }]
我想显示最多十个项目,按日期排序,但优先考虑具有特定属性的对象(即“已取消”标志设置为 true 的任何对象将显示在其余项目之上)。如果我使用 ng-repeat 过滤器/限制:
<div ng-repeat="people in peoples | limitTo: 10 | orderBy: '-interview'">
如何让已取消标签的对象保留在顶部?
最佳答案
<div ng-repeat="people in peoples |
limitTo: 10 | orderBy: '-interview' | filter:customFilter">
您的自定义过滤器
如下。
app.filter('customFilter', function() {
return function( items ) {
var filtered = [];
angular.forEach(items, function(item) {
if(item.hasOwnProperty("cancelled") && item.cancelled === true)
filtered.unshift(item);
else
filtered.push(item);
});
return filtered;
};
});
关于javascript - ng-重复 : Limit to 10 most recent with exceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37514871/