一尘不染

带空对象的角度排序

angularjs

当我按ASC排序时,我需要记录顶部带有空值的记录

<tr ng-repeat="footballer in footballers=(footballers | orderBy:predicate)">
predicate : ['team.name','id]

一些足球运动员没有球队,所以object == nullteam.name==null,我需要将他们排在首位

我想重写排序函数,但是我需要保存谓词


阅读 218

收藏
2020-07-04

共1个答案

一尘不染

您可以在控制器中使用以下内容:

$scope.nullsToTop = function(obj) {
  return (angular.isDefined(obj.team) ? 0 : -1);
};

在HTML上:

<tr ng-repeat="footballer in footballers | orderBy:[nullsToTop].concat(predicate)">

这样,您可以单独维护谓词。只需nullsToTop在orderBy表达式中连接该函数即可首先运行它。

柱塞

2020-07-04