显示AngularJS对象数组中的值

时间:2017-07-20 10:49:05

标签: javascript angularjs

有人能帮助我咬它吗?

问题是,我已经使用服务器stringarray订单了 数组

  

[对象,对象,对象]

并希望逐个显示所有对象的项目值 例如:

order 1 [

DELL

ziemniaki

Wisnie

111111111 ]

order 2 [

Wisnie

Ziemniaki

]

控制器:

$scope.ListOfOrders = function () {
    return ApiService.cart.list($scope.user).then(function (resp) {
        $scope.orders = JSON.parse(resp[0].order);
        console.log(resp)
    });
}
{{orders}}中的

>  [{"_id":"596f39515156f6178cbf3721","order":"[{\"item\":\"DELL\",\"quantity
> \":6,\"price\":144},{\"item\":\"ziemniaki\",\"quantity\":3,\"price\":3131},
> {\"item\":\"Wisnie\",\"quantity\":1,\"price\":31},{\"item\":\"111111111\",\"quantity\":1,\"price\":13}]","price":10301,"client":"q","IDclient":"5969ef800151e63ce01ec50c","__v":0,"created":"2017-07-19T10:49:53.061Z","updated":"2017-07-19T10:49:53.061Z"},{"_id":"597085de1d3e9722385773a8","order":"[{\"item\":\"ziemniaki\",\"quantity\":2,\"price\":3131},{\"item\":\"Wisnie\",\"quantity\":5,\"price\":31}]","price":6417,"client":"q","IDclient":"5969ef800151e63ce01ec50c","__v":0,"created":"2017-07-20T10:28:46.591Z","updated":"2017-07-20T10:28:46.591Z"},{"_id":"597086e41d3e9722385773a9","order":"[{\"item\":\"ziemniaki\",\"quantity\":2,\"price\":3131},{\"item\":\"Wisnie\",\"quantity\":5,\"price\":31}]","price":6417,"client":"q","IDclient":"5969ef800151e63ce01ec50c","__v":0,"created":"2017-07-20T10:33:08.444Z","updated":"2017-07-20T10:33:08.444Z"}]

2 个答案:

答案 0 :(得分:0)

您可以根据自己的要求修改数据 -

就像你可以做到这一点。

var newOrders=[]
angular.forEach(orders,function(value,key){
  var obj={};
  obj.Ordername="Order"+key;
  obj.values=[];
 angular.forEach((value.order),function(v,k){
   obj.values.push(v.item);
})
newOrders.push(obj);
})

现在可以根据需要使用此newOrder

希望它会对你有所帮助。

答案 1 :(得分:0)

您可以将项目从响应过滤到显示 -

app.controller('orderCtrl', ['$scope', 'ApiService', '$filter', 
  function(s, ApiService, $filter) {

  s.newOrders = [];

  //Function to get the order response
  s.ListOfOrders = function () {
        return ApiService.cart.list(s.user).then(function (resp) {
            s.orders = JSON.parse(resp[0].order);
            //Now everything in orders
            s.orders.forEach(function(o) {
              s.newOrders.orderName="Order"+key;
              s.newOrders.items = o.filter(function(r) { return r.item })
                  console.log(s.newOrders )
            })

        });
    }
}])

//在html模板中

<div ng-repeat="order in newOrders">
  <span>order.orderName</span>
  <div ng-repeat="item in order.items">
    {{item}}
  </div>
</div>