反转Angular中的排序顺序

时间:2014-12-02 10:34:47

标签: javascript angularjs

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

请在此处查看jsfiddle:http://jsfiddle.net/pga6yaxg/

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

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

1 个答案:

答案 0 :(得分:3)

我修改了 fiddle 以使其有效。

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

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

现在有效!

<强>更新

顺便说一句,您可以通过predicate值分配给<option>标记的实际值并简单地绑定orderBy过滤到<select>的模型。这样你甚至不会使用reverse变量!

检查其他 jsFiddle 以获取改进版本。