2016-08-02 104 views
0

我使用AngularJS將3個不同的json文件解析到html頁面。 這裏是我的代碼:如何按特定順序獲取json文件數據?

廠代碼

app.factory('myapp', ['$http', function($http) {   
function getLists() { 
    var tab = ['url1', 'url2', 'url3']; 
    var list = []; 
    for(i = 0; i < tab.length; i++) { 
     $http.get(tab[i]) 
     .then(function(res) { 
      list.push(res.data); 
     }); 
    } 
    return list; 
} 

return { 
    getLists: getLists 
}; 
]); 

我想是按性別來顯示不同的文件的數據(男/女),這取決於名稱爲「納米」。女孩的名字,然後孩子們.The在第一行,第二個在第二行,等第一URL的數據名稱...

HTML代碼:

<tr ng-repeat="d in list"> 
    <td>{{d.nm}}</td> 
    <td>{{d.cty}}</td> 
    <td>{{d.hse}}</td> 
    <td>{{d.yrs}}</td> 
</tr> 

我鑫卡特約在控制器裏做一個if測試,在那裏我指定了女孩的名字和男孩的名字,但是對我來說這並不是很明顯如何去做 我該怎麼辦?

+2

你應該在NG-重複使用排序依據 – Weedoze

+0

@Weedoze ORDERBY給我的字母順序。我有3個名字比爾,莎拉,蘇茜我想要這個訂單 莎拉 蘇茜 比爾 女孩的名字然後男孩的名字 –

+1

你有一個領域來區分性別? –

回答

0

你可以給ID爲名稱。然後給orderByid'的名字。

<tr ng-repeat="d in list| orderBy:ID"> 

</tr> 
0

Angular有orderBy指令,您可以在ng-repeat中使用它來對數據進行排序。

試試吧,

用您的拼音名稱替換genderField和nameField。

<tr ng-repeat="d in list| orderBy:['genderField','nameField']"> 
    <td>{{d.nm}}</td> 
    <td>{{d.cty}}</td> 
    <td>{{d.hse}}</td> 
    <td>{{d.yrs}}</td> 
</tr> 

Reference

0

我已經創建了一個ID爲@tommoc建議我的評論和工作:)

+0

你能明確寫出如何?如果他將來刪除他的評論呢? – Dejell

+0

事實上,我已經在工廠做了一個如果測試取決於我的名字,如果它是一個男孩的名字Id = 2如果這是一個女孩的一個Id = 2那麼在ng-重複我已經做orderBy ID :) –

+0

請發佈您的代碼在答案中。 – Dejell