AngularJS - 访问时嵌套数组为空

时间:2015-02-20 14:19:41

标签: angularjs angularjs-http

我疯了!

我的服务器在端点处响应一些JSON。它是这样的:

[{
  key: 'value'
  nested: [{
    key: 'value'
  ]}
}]

如果我直接在浏览器中访问该端点,我可以确认我得到了这个结构合理的JSON对象(来自Laravel)。

我的AngularJS应用程序正常访问它:

$http.get('endpoint').success(function(data){
    $scope.datas = data;
});

以下是问题:我在AngularJS中的对象嵌套数组总是为空,除非我将JSON作为单个对象而不是像这样的数组返回:

{datas: [{
  key: 'value'
  nested: [{
    key: 'value'
  ]}
}]}

在AngularJS中,我现在可以看到嵌套数组。 但等待,如果我尝试像

那样访问它
ng-repeat(data in datas.datas)

再次空了!

这是Javascript / HTML:

<div ng-repeat="order in orders">
    <div ng-repeat="message in order.messages">[[ message.value ]]</div>
</div>

msmService.controller('ordersCtrl', ['$scope', '$http',function($scope, $http){
    var refresh = function(){
        $http.get('/admin/service/orders').success(function(data){
            $scope.orders = data;
        });
    };

    refresh();
});

1 个答案:

答案 0 :(得分:0)

我重新安排了一些事情,希望这个例子就是你要找的:

&#13;
&#13;
var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
    $scope.orders = {
      datas: [
        {
          key: 'value',
          nested: [
            {
              key: 'nestedValue'
            }
          ]
        }
      ]
    };
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp" ng-controller="MyCtrl">
  
  <div ng-repeat="order in orders.datas">
    {{order.key}}
    <div ng-repeat="message in order.nested">{{message.key}}</div>
  </div>
  
</div>
&#13;
&#13;
&#13;