Angularjs - 未知的提供者:

Angularjs - Unknown provider:

本文关键字:提供者 未知 Angularjs      更新时间:2023-09-26

我不断收到此错误:

Error: [$injector:unpr] Unknown provider: UsersServiceProvider <- UsersService

我在 https://docs.angularjs.org/error/$injector/unpr 中读到了这个主题,所以我把['UsersService'放在我的控制器功能之前,但没有让它工作。这是我的代码,我只运行了yo angular然后yo angular:service users.

这是在我的控制器/主控制器中.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;
  });
}]);

这是在我的服务/用户中.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) {

您正在注入$scope和服务。 您需要按名称提及两者,然后在函数中以相同的顺序注入它们。

在您的示例中,您的$scope变量实际上是您的用户服务。