【发布时间】:2016-10-02 02:51:27
【问题描述】:
我正在尝试使用 Angular 服务,因为 $scope 不能被注入到服务内部,所以使用 $rootScope。我的代码看起来不错,但出现以下错误-
TypeError: $http.get 不是函数
这是代码- EmployeeService.js: ///
app.factory('fetchEmpService', ['$rootScope', '$http', function ($http, $rootScope) {
var employees = [];
return {
fetchEmp: function () {
debugger;
return $http.get("EmpWebService.asmx/GetEmp")
.then(function (response) {
employees = response.data;
$rootScope.$broadcast('allEmployees', employees);
return employees;
});
}
};
}]);
在我的控制器中,我尝试如下使用它:
$scope.employees = fetchEmpService.fetchEmp();
$scope.$on('allEmployees', function (events, employees) {
$scope.employees = employees;
});
我有点困惑,数据会进入 $scope.$on
【问题讨论】:
-
您的参数顺序错误。
$rootScope先注入。交换它们,应该没问题 -
更改此行中的答案
app.factory('fetchEmpService', ['$rootScope', '$http', function ($http, $rootScope)。这里注入顺序很重要。app.factory('fetchEmpService', ['$rootScope', '$http', function ($rootScope, $http)
标签: angularjs