2016-03-14 3 views
1

Я только начинаю с Углового и пытаюсь адаптировать учебник, за которым я слежу.Угловой JS: получить подзадачу от ответа службы

Я ресурс определяется как:

.factory('Session', function ($resource) { 
    return $resource('http://localhost/api/sessions'); 
}); 

Я пытаюсь использовать ответ с контроллером, как это:

.controller('SessionsCtrl', function($scope, Session) { 
    $scope.sessions = Session.query(); 
}) 

Проблема Я наталкивается это формат Ответ JSON содержит сессии в подзадаче как таковой:

{ 
    sessions: [ 
    { 
     id: 1, 
     title: "Welcome" 
    { 
     id: 2, 
     title: "Session 1" 
    } 
    ] 
} 

Как получить ресурс для доступа ok как свойство сессий?

+1

'$ scope.sessions = Session.query(). Session;'? – Starscream1984

ответ

0

Если служба отправляет объект вместо массива, вы должны добавить IsArray: ложные в своем заявлении:

yourApp.factory('Session', function ($resource) { 
    return $resource(
     'http://localhost/api/sessions', 
     {}, 
     {'query': {method: 'GET', isArray: false }} 
    ); 
}); 

В контроллере вы можете использовать обратный вызов:

yourApp.controller('SessionsCtrl', function($scope, Session) { 
    $scope.sessions = Session.query(function(result) { 
     return result.sessions; 
    }); 
}); 
+0

Я дал эту попытку, но я получал ту же ошибку, что и раньше: Ошибка: '[$ resource: badcfg] query'. Большинство сообщений об ошибках, которые я вижу в google, указывают на следующее сообщение об ошибке «Ошибка в настройке ресурсов». Ожидаемый ответ содержать массив, но получил объект? но я не вижу этого в моем случае. –

Смежные вопросы