Почему я не могу получить доступ к данным в объекте $resource, возвращаемом .query()?

Я пытаюсь получить доступ к данным в объекте, который возвращается с помощью $resource. Я думал, что это будет похоже на доступ к данным внутри объекта с помощью точки, но это не работает. В консоли я вижу, что объект содержит массив с именем «jobs», но я не могу понять, как получить к нему доступ. это код

Обслуживание:

jenkinsDashboard.factory('Dashboard', ['$resource', function ($resource) {
    return $resource(
        'http://ci.angularjs.org/view/AngularJS/api/json?pretty=true',
        {}, 
        { query: { method:'GET', params:{}, isArray:false }});
    }]);

Контроллер:

dashboardControllers.controller('DashboardCtrl', ['$scope', 'Dashboard',
function($scope, Dashboard) {
    $scope.allData = Dashboard.query();
    console.log($scope.allData.jobs);
    console.log($scope.allData);
}]);

Выход:

undefined                                                                  
Resource {$promise: Object, $resolved: false, $get: function, $save: function, $query: function…}

person Chantal    schedule 11.07.2014    source источник
comment
не могли бы вы скопировать из консоли ваш $scope.allData.jobs, вам будет легче помочь   -  person sylwester    schedule 11.07.2014
comment
Добавил вывод в пост tnx   -  person Chantal    schedule 11.07.2014
comment
$scope.allData.$promise.then(функция (результат) { console.log(результат)}); не могли бы вы добавить эту строку и опубликовать вывод   -  person sylwester    schedule 11.07.2014
comment
Ресурс {описание: null, задания: Array[4], имя: AngularJS, свойство: Array[0], URL: ci.angularjs.org/view/AngularJS…} — это результат. До сих пор не знаю, как я могу использовать массив   -  person Chantal    schedule 11.07.2014
comment
Хорошо :) Не за что   -  person sylwester    schedule 11.07.2014


Ответы (1)


У меня была такая же проблема с использованием $resources, найдите ниже реструктуризацию вашего контроллера.

    dashboardControllers.controller('DashboardCtrl', ['$scope', 'Dashboard',
 function($scope, Dashboard) {

Dashboard.query().$promise.then(function (res) {
        $scope.allData = res;
        console.log($scope.allData.jobs);
        console.log($scope.allData);
    });
 }]);
person Simba    schedule 27.03.2015