2015-05-07 130 views
0

我是Angular的新手,我使用$ http.jsonp從joomla網站獲取一些json數據。AngularJS orderBy不按預期工作

我只是在類別拉動,即

{ 
id: "89", 
name: "Labour", 
description: "<p>{module Labour Featured Stories}</p>", 
image: "/media/k2/categories/", 
language: "*", 
parent: "87" 
} 

{ 
id: "90", 
name: "International", 
description: "<p>{module International Featured Stories}</p>", 
image: "/media/k2/categories/", 
language: "*", 
parent: "87" 
} 

我想通過ID使用排序依據組織這些類別:| ORDERBY: ' - 編號」'

這工作,但在一個奇怪的方式,輸出爲:1,10,100,2,23,200,3,34,300,等等。

這是顯然不是正確的。

是否有修復此?

+2

可能是問題是要排序字符串,而不是數量 –

+0

@pankajparkar是正確的。一切都按預期工作:按字符串比較排序。你需要改變你的數據,以便'id's是數字而不是字符串。 –

回答

1

您需要更改從服務器端的響應,因爲你正在做的陣列-id正在做排序上string比較的基礎上排序。更改該字符串到數字(整數)會更有意義,而不是使用過濾器,並將其轉換爲整數然後進行排序,這不會被視爲一個去od方式。

JSON

{ 
    id: 89, //<-- this should be number instead of string 
    name: "Labour", 
    description: "&lt;p&gt;{module Labour Featured Stories}&lt;/p&gt;", 
    image: "/media/k2/categories/", 
    language: "*", 
    parent: "87" 
} 

{ 
    id: 90, //<-- this should be number instead of string 
    name: "International", 
    description: "&lt;p&gt;{module International Featured Stories}&lt;/p&gt;", 
    image: "/media/k2/categories/", 
    language: "*", 
    parent: "87" 
} 
+0

對不起,我試過這個,但它不工作。不知道我在做什麼錯誤。 這裏是plunker http://plnkr.co/edit/ZRTYREV0sMkTTuLduQBH?p=preview –

+0

@BharatBhushan它似乎是正確的,你正在使用降序使用顯示正確的結果 –

+0

我試着與des和asc順序兩者都給出了相同的結果 –