我注入到这一点我控制器模块:服务工厂不能正常工作
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;
}
我省略了一些代码从我的控制器;范围对象正常工作。问题是,我收到一个错误,告诉我在第55行和第56行中“datos”未定义。为什么会发生这种情况?
不必返回从什么'loadData()' – Rhumborl
你试图从异步调用返回。检查此线程http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call –