我经历了几个问题,试图解决这个问题,但还没有取得成功。我收到了这个错误:
TypeError:appService.load_All_EV不是函数。
我使用相同的方式从其他控制器中的服务调用数据并且其工作正常。 这是我的服务。
app.factory("appService", function($http) {
return {
GetApp: function() {
return $http({ method: 'GET', url: '', headers: { 'Content-Type': 'application/json' } }).then(function(response) {
return response.data;
});
},
load_All_EV: function() {
return $http({ method: 'GET', url: '', headers: { 'Content-Type': 'application/json' } }).then(function(response) {
return response.data;
});
}
}
})
我的控制器: -
app.controller('getActEvCtrl', ['$scope','$http','appService','$localStorage','$timeout','growl', function ($scope,$http,appService,$localStorage,growl,$timeout) {
$scope.loadev = appService.load_All_EV();
$scope.loadev.then(function(data) {
angular.forEach(data, function(value) {
$scope.getallEv = data;
console.log(value);
});
});
}]);
我哪里错了?
答案 0 :(得分:0)
请注意,您在appService中处理$ http承诺(您使用"然后"),并且您没有将承诺传递回控制器,因此您可能会收到错误line:" $ scope.loadev.then"。 删除"然后"如果你没有处理那里的承诺,那么从服务(也是良好的做法)。
在appService中它应该如下所示:
load_All_EV: function() {
return $http({ method: 'GET', url: '', headers: { 'Content-Type': 'application/json' } })
}