Я пытаюсь получить данные, назначенные переменной $scope. Внутри моей функции $promise.then() она отображается правильно, но вне функции она отображается как неопределенная. Ниже приведен код моего контроллера:
angular.module('testSiteApp').controller('TestController', function ($scope, Tests) {
$scope.test = Tests.get({id: 1});
$scope.test.$promise.then(function(data) {
$scope.tasks = data.tasks;
console.log($scope.tasks);
});
console.log($scope.tasks);
});
Результаты внутри функции then():
[Object, Object, Object, Object]
Результаты вне функции then():
undefined
Фабрика услуг «Тесты», которую я использую, выглядит следующим образом:
angular.module('testSiteApp').factory('Tests', function($resource) {
return $resource('/api/test/:id', {id: '@id'}, { 'update': { method: 'PUT' } } );
});
Даже когда я использую метод запроса вместо get для своего ресурса и устанавливаю для isArray значение true, я все равно сталкиваюсь с той же проблемой. По какой-то причине данные не привязаны к моей области внутри функции then.
Извините, если это повторяющийся вопрос, но я искал везде и нашел только неопределенную проблему, связанную с функцией $promise, которая в данном случае не является проблемой.
Заранее спасибо за поддержку.