【发布时间】:2015-07-12 01:21:44
【问题描述】:
我有这些数据:
{
"order":[
{
"id":1,
"table":1,
"foods":"{'foods':[{'id':2, 'name':'Nasi Minyak', 'qty':1}]}",
"drinks":"{'drinks':[{'id':1,'name':'Teh O Ais','qty':1}]}",
"waiter":"ali",
"foods_status":0,
"drinks_status":0,
"created_at":"2015-07-12T00:30:52.637Z",
"updated_at":"2015-07-12T00:30:52.637Z"
},
{
"id":2,
"table":2,
"foods":"{'foods':[{'id':2, 'name':'Nasi Goreng', 'qty':1}]}",
"drinks":"{'drinks':[{'id':1,'name':'Milo Ais','qty':1}]}",
"waiter":"abu",
"foods_status":0,
"drinks_status":0,
"created_at":"2015-07-12T00:51:43.552Z",
"updated_at":"2015-07-12T00:51:43.552Z"
}
]
}
我尝试像这样在桌子内抓住所有食物name:
<table class="table-bordered table table-striped">
<thead>
<tr>
<td>#</td>
<td>Name</td>
<td>Action</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="order in orders">
<td>{{order.id}}</td>
<td>{{order.foods.name}}</td>
<td>
<button class="btn btn-danger" ng-click="">Delete</button>
</td>
</tr>
</tbody>
</table>
这是我获取数据的$http.get:
$http.get("../api/orders")
.success(function(data) {
var order = data.order;
$scope.orders = order;
});
我设法绑定了id,但我无法在foods 数组中绑定name。
如何在该数据的foods数组中获取name?
【问题讨论】:
-
您需要在订单中添加第二个 ng-repeat 循环。
ng-repeat="food in order.foods.foods" -
为什么还要从服务器返回这样的数据?修复服务器序列化数据的方式,不要尝试猴子补丁显示无意义的数据结构。
标签: javascript arrays json angularjs object