Задать вопрос
@krekerov
Fullstack ninja

Angular, почему не видно $scope снаружи запроса?

Почему не видно $scope снаружи запроса?
Как мне к нему достучаться?

Companies.count.query({}, function success(data) { 
              $scope.count = data; 
              console.log($scope.count.c)         //print 4415
          })
			console.log($scope.count.c)         //undefined


Часть сервиса:

count:
                $resource('api/companies/count', {}, {
                    'query':  {method:'GET',isArray:false},
                }),
  • Вопрос задан
  • 2674 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Может быть потому что запрос асинхронный, и в момент вызова (где появляется undefined) - $scope.count действительно undefined ?
Ответ написан
@goodnickoff
Потому что функция success - это callback, который вызывается после того как запрос завершился. В втором же вашем примере переменной а присваивается пустой объект (или массив, если в опциях стоит isArray) который заполняется данными после того как завершился запрос и данные видны в консоли потому что к моменту как вы их просматриваете запрос уже отработал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы