反转角度中的排序顺序

Reverse the sort order in Angular

本文关键字:排序 顺序      更新时间:2023-09-26

我有一个产品和价格列表,我传递给一个 Angular 迭代器。用户可以从下拉列表中选择一个选项,该选项允许他们按与对象关联的属性之一进行排序。当我尝试反转字母属性的顺序时,顺序不起作用。

请参阅此处的jsfiddle:http://jsfiddle.net/pga6yaxg/

else if ($scope.orderBy == 'name-za') {
            return -result.name;

单击添加,价格和名称a-z,这些工作正常,但是当我选择z-a时,顺序不正确。有什么想法吗?

我修改了你的小提琴以使其工作。

基本上,我添加了一个reverse变量,就像在 AngularJS orderBy 文档中一样:

<li data-ng-repeat="orderBy : [orderByOptions, recent] : reverse track by $index">

它现在有效!

更新

顺便说一下,您只需predicate值分配给<option>标签的实际值,并简单地将 orderBy 过滤器绑定到<select>的模型,就可以省去控制器中的整个过滤。这样你甚至不会使用 reverse 变量!

检查这个其他jsFiddle的改进版本。