我有以下JSON:
{
"_id": "543e95d78a1cec2a38ed53ec",
"result": {
"CAR009": [
{
"name": "BMW"
},
{
"name": "MERCEDES"
}
],
"BUS007": [
{
"name": "RENAULT"
}
]
}
}
我事先并不知道“CAR009”和“BUS007”仅供参考。
我希望它显示在我的HTML中:
CAR009:宝马,梅赛德斯
BUS008:RENAULT
控制器:
$http.get('http://localhost:3000/categories/api)
.success(function (cars) {
var categoArray = [];
for (var key in cars.result) {
var car = cars.result[key];
for (var idx in car) {
categoArray.push(car[idx].category_name);
}
}
$scope.categories = categoArray;
})
.error(function (cars) {
console.log(tags);
});
然后在我的 HTML 中:(但这不是我想要的)
<div ng-repeat="categorie in categories">
<li>{{categorie}}
</div>
我存储在数组中,但我需要存储在对象?
中如何使用AngularJS更容易地显示它?
感谢您的帮助!
答案 0 :(得分:3)
假设categories
具有以下结构:
{
"CAR009": [
{
"name": "BMW"
},
{
"name": "MERCEDES"
}
],
"BUS007": [
{
"name": "RENAULT"
}
]
}
你想这样做:
<ul>
<li ng-repeat="(key, cars) in categories">
{{key}}: <span ng-repeat="car in cars">{{car.name}}{{!$last?', ':''}}</span>
</li>
</ul>
此外,您可能希望更改代码的这一部分:
$http.get('http://localhost:3000/categories/api')
.success(function (cars) {
$scope.categories = cars.result;
})
.error(function (cars) {
console.log(tags);
});