我使用AngularJS解析了三个不同的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
};
]);
我想要的是显示a中不同文件的数据,第一行中第一个URL的数据,第二行中的第二个数据等等... 我必须根据名称'nm'的字母顺序显示数据。
Html代码:
<tr ng-repeat="d in list">
<td>{{d.nm}}</td>
<td>{{d.cty}}</td>
<td>{{d.hse}}</td>
<td>{{d.yrs}}</td>
</tr>
我该怎么办?
答案 0 :(得分:2)
你可以简单地使用orderBy
https://docs.angularjs.org/api/ng/filter/orderBy
喜欢这样
<tr ng-repeat="d in list | orderBy: 'nm'">
<td>{{d.nm}}</td>
<td>{{d.cty}}</td>
<td>{{d.hse}}</td>
<td>{{d.yrs}}</td>
</tr>
答案 1 :(得分:0)
你没有解释你从哪里获得名单,所以我假设一个公理和两个选项:
Axiom :您不需要在线排序(这意味着用户无法触发其他排序。
选项1 - 您从数据库中获取列表:在这种情况下,请确保为每条记录添加索引,并按索引按升序对数据进行排序。
选项2 - 您正在JavaScript代码中填充列表:在这种情况下,您可以按顺序构建列表并添加索引(我建议您将其设置为数字和不是文字的。)