Здравствуйте. Суть проблемы:
<div class="ng-scope" ng-init="init_func()" ng-controller="testCtrl">
var testApp = angular.module('testApp', []);
testApp.controller("testCtrl", ['$http', function($http){
var store = this;
store.init_func = function(){
$http.get('/get_json_data')
.success(function(data){
store.my_data = data;
})
};
console.log(store);
console.log(store.my_data);
}]);
Выводв консоль:
Object { init_func=function()}
undefined
В варианте со scope аналогиченая ситуация:
var testApp = angular.module('testApp', []);
testApp.controller("testCtrl", ['$scope', '$http', function($scope, $http){
$scope.init_func = function(){
$http.get('/get_json_data')
.success(function(data){
$scope.my_data = data;
})
};
console.log($scope);
console.log($scope.my_data);
}]);
Вывод:
l { $$listeners={...}, $$listenerCount={...}, $id=2, ещё...}
undefined
Данные получает корректно, со страницы доступ есть. Console.log($scope.my_data); внутри колбека отрабатывает правильно.
Прошу объяснить что я не понимаю, и каким образом получить доступ к данным, полученным через $http.get() из контроллера?