Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关于如何在Angular JS中从JSON访问子对象的建议_Javascript_Json_Angularjs - Fatal编程技术网

Javascript 关于如何在Angular JS中从JSON访问子对象的建议

Javascript 关于如何在Angular JS中从JSON访问子对象的建议,javascript,json,angularjs,Javascript,Json,Angularjs,我已经在Angular中创建了以下控制器,并尝试访问返回的JSON中的一些子对象 控制器: var app = angular.module("MyApp", []); app.controller("FAQCtrl", function($scope, $http) { $scope.dataLoaded = false; $http.get('config/data.json', { }) .success(function(data

我已经在Angular中创建了以下控制器,并尝试访问返回的JSON中的一些子对象

控制器:

var app = angular.module("MyApp", []);

app.controller("FAQCtrl", function($scope, $http) {
    $scope.dataLoaded = false;
              $http.get('config/data.json', {
      })
    .success(function(data, status, headers, config) {
      $scope.config = data;
      $scope.dataLoaded = true;  
    }).
    error(function(data, status, headers, config) {
      window.alert("Sorry! There has been a problem!\n\nPANIC!")
    });
});
返回的JSON格式如下:

{
"entryList":
{
    "totalEntries": 237,
    "incEntries": 10,
    "offset": 0,
    "loggingURL": "/action/logStatistics?action1=%27client%d%27",
    "entry":
[
        {
            "catID": "delivery",
            "entryID": "delivery-charges",
            "subcatID": "delivery-options",
            "question": "What are your delivery charges?"
},
        {
            "catID": "returns-and-refunds",
            "entryID": "online-returns-policy",
            "subcatID": "returns-policy",
            "question": "What is your online returns policy?"
},
        {
            "catID": "delivery",
            "entryID": "track-delivery",
            "subcatID": "order-status",
            "question": "How can I track my delivery/order?"
},
        {
            "catID": "delivery",
            "entryID": "click-and-collect",
            "subcatID": "delivery-options",
            "question": "Do you offer Click and Collect or Collect +?"
},
        {
            "catID": "products-and-services",
            "entryID": "makeover",
            "subcatID": "services",
            "question": "Can I come in for a free makeover and skin consultation?"
},
        {
            "catID": "delivery",
            "entryID": "how-long-for-delivery",
            "subcatID": "delivery-queries",
            "question": "How long will it take for my products to be delivered?"
        }
    ]
}

}
我希望能够返回提要中每个“入口”部分的详细信息,但我正在努力完成以下工作:

<div ng-repeat="item in entryList">
<a href="" class="btn btn-info btn-lg btn-block">{{item.entryID}}</a>
<br />
</div>


有谁能给我一个主意,让我如何轻松地访问儿童部分


感谢您的ajax呼叫,您正在将所有数据存储在
$scope.config
中,因此请将它们存储在其他位置,或者在
ng repeat上使用config

<div ng-repeat="item in config.entryList.entry">
<a href="" class="btn btn-info btn-lg btn-block">{{item.entryID}}</a>
<br />
</div>

在ajax调用中,您将所有数据存储在
$scope.config
中,因此可以将它们存储在其他位置,或者在
ng repeat上使用config

<div ng-repeat="item in config.entryList.entry">
<a href="" class="btn btn-info btn-lg btn-block">{{item.entryID}}</a>
<br />
</div>

这里似乎有几个问题

  • 您在ng repeat中引用的是entryList,但在您的作用域中没有名为entryList的变量。返回数据后,您需要分配
    $scope.entryList=data.entryList.entry在成功部分
  • 如果这是加载时页面上的指令所需的数据,则应将其传递到控制器中,而不是在加载控制器后填充。这可以通过使用resolve来完成。这里有更多的信息

  • 这里似乎有几个问题

  • 您在ng repeat中引用的是entryList,但在您的作用域中没有名为entryList的变量。返回数据后,您需要分配
    $scope.entryList=data.entryList.entry在成功部分
  • 如果这是加载时页面上的指令所需的数据,则应将其传递到控制器中,而不是在加载控制器后填充。这可以通过使用resolve来完成。这里有更多的信息

  • @charlietfl我感觉不太好?@charlietfl我感觉不太好?