实际上,
orderBy过滤器不仅可以将字符串作为参数,还可以将函数作为参数。从
orderBy文档中:https
:
//docs.angularjs.org/api/ng/filter/orderBy):
函数:吸气功能。该函数的结果将使用<,=,>运算符进行排序。
因此,您可以编写自己的函数。例如,如果您想基于opt1和opt2之和来比较卡(我正在做这个,关键是您可以具有任意函数),则可以在控制器中编写:
$scope.myValueFunction = function(card) { return card.values.opt1 + card.values.opt2;};
然后,在您的模板中:
ng-repeat="card in cards | orderBy:myValueFunction"
这是工作的jsFiddle
另一个值得注意的是,这
orderBy只是AngularJS过滤器的一个示例,因此,如果您需要非常特定的排序行为,则可以编写自己的过滤器(尽管
orderBy对于大多数用例来说已经足够了)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)