angularjs - 获取 TypeError:XYZ 不是 Angular 中的函数
问题描述
我经历了几个问题并试图解决这个问题,但还没有成功。我收到此错误:
类型错误: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);
});
});
}]);
我哪里错了?
解决方案
请注意,您在 appService 中处理了 $http 承诺(您使用“then”),并且您没有将承诺传回给控制器,因此您可能会在线收到错误:“$scope.loadev.then” . 如果您不在那里处理承诺,请从服务中删除“then”(也是一种很好的做法)。
在 appService 中,它应该如下所示:
load_All_EV: function() {
return $http({ method: 'GET', url: '', headers: { 'Content-Type': 'application/json' } })
}
推荐阅读
- c# - Only Fan-out (and forget) in Durable Functions
- python - 确定已排序的 numpy 整数数组中的块
- jquery - 在引导模式内的特定 div 内滚动不起作用
- mongoose - 猫鼬 | 查找超时查询
- php - 没有在 div 中显示数据库用户,使用用户获取 0 登录
- java - 如何在 Intellij 中自动导入用于使用 junit 进行测试的方法
- angular - 如何从@ContentChildrent 获取事件处理程序?
- qt - Qt中的普通函数和插槽有什么区别?
- javascript - toggleClass Jquery 不适用于子元素到父元素
- c# - 如何将数组推入聚合管道并将其拉上一层?