我不断收到此错误:
Error: [$injector:unpr] Unknown provider: UsersServiceProvider <- UsersService
我在 https://docs.angularjs.org/error/ 中读到了有关此主题的内容$injector/unpr 所以我把 ['UsersService' 放在我的 Controller 功能之前,但没有让它工作。
这是我的代码,我只运行 yo Angular
,然后运行 yo Angular:service users
。
这是在我的controllers/main.js 中
angular.module('pmsFrontApp')
.controller('MainCtrl', ['UsersService',function ($scope, UsersService) {
$scope.form = { firstName: '', lastName: '' };
UsersService.fetchAll().then(function(data) {
//console.log(data);
//$scope.lista = data;
});
}]);
这是在我的 services/users.js 中
angular.module('pmsFrontApp')
.service('UsersService', function ($q,$http) {
this.fetchAll = function() {
var defer = $q.defer();
$http.get('http://localhost:8888/users', /*{
params: {}
}*/).success(function(data) {
defer.resolve(data);
}).error(function() {
defer.reject('No vieja');
});
return defer.promise;
}
});
});
最佳答案
需要看起来像这样
.controller('MainCtrl', ['$scope', 'UsersService', function ($scope, UsersService) {
您正在注入(inject) $scope
和您的服务。您需要按名称提及两者,然后在函数中以相同的顺序注入(inject)它们。
在您的示例中,您的 $scope
变量实际上是您的 UsersService。
关于javascript - Angularjs - 未知提供商 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26952552/