я впрыснуть это в мой модуль контроллера:служба завод не работает
var services = angular.module('services', []);
services.factory('jsonManager', ['$http', function($http) {
return{
loadData: loadData
}
function loadData(){
$http({
method: 'GET',
url: 'data/2015_data.json'
}).then(function successCallback(response) {
return response.data;
}, function errorCallback(response) {
return response.err;
});
}
}]);
... и он не работает! Я использую его на контроллере, как это, проверьте:
var ctrls = angular.module('controllers', ['services']);
ctrls.controller('overviewController', ['jsonManager', '$scope',
function(jsonManager, $scope){
$scope.load = function(){
var datos = jsonManager.loadData();
console.log(datos);
$scope.gastos = datos.gastos.data;
$scope.ganancias = datos.ganancias.data;
}
Я пропустил код с моего контроллера; объекты области действия работают правильно. Проблема в том, что я получаю сообщение об ошибке, которое говорит мне, что «datos» не определено в строках 55 и 56. Почему это происходит?
вы ничего из не возвращаете 'LoadData()' – Rhumborl
Вы пытаетесь вернуться из асинхронного вызова. Проверьте эту тему http://stackoverflow.com/questions/14220321/how-do-return-the-response-from-an-asynchronous-call –