2014-12-02 150 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