2014-12-02 116 views
1

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

想在这里看到的jsfiddle:http://jsfiddle.net/pga6yaxg/

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

单击添加的,价格和名称A-Z这些做工精细,但当我选择Z-一个顺序不正确。有任何想法吗?

+0

尝试用'return“ - ”+ result.name;'代替。 – sp00m 2014-12-02 10:40:43

+0

nope。没有工作:( – GrahamJRoy 2014-12-02 10:48:19

回答

3

我修改了你的fiddle使它工作。

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

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

它现在!

UPDATE

顺便说一句,你可能会由刚刚分配predicate价值,你<option>标签的实际值和简单的排序依据过滤器结合到模型中幸免整个过滤控制器你的<select>。这样你甚至不会使用reverse变量!

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

+0

没有效果,我怕。订单仍然有相同的错误 – GrahamJRoy 2014-12-02 10:57:39

+1

@GrahamJRoy检查编辑的答案,并链接到更正的小提琴 – Kutyel 2014-12-02 10:59:44

+0

非常感谢您的帮助:) – GrahamJRoy 2014-12-02 11:01:43