Angular JS 未知提供程序错误

Angular JS Unknown Provider Error

我在我的 angular js 应用程序中遇到了这个错误,无法弄清楚是什么导致了这个问题。这似乎是一个常见问题,但我的所有故障排除都没有任何帮助。如果有人能指出问题所在,我们将不胜感激。谢谢:)

错误:[$injector:unpr] 未知提供者:ResultsServiceProvider <- ResultsService <- ResultsController

这是我的代码:

app.js

   angular.module('resultsApp', ['ngRoute', 'nvd3', 'ngResource'])
   .config(['$routeProvider', function($routeProvider) {
       $routeProvider.when('/results', {
       controller: 'ResultsController',
        templateUrl: 'app/results/Results.html'
      });
   }])

控制器

    angular
          .module('resultsApp')
          .controller('ResultsController', ResultsController);

   function ResultsController($scope, ResultsService) {
      $scope.teams = [{teamA: ''}, {teamB: ''}];
      $scope.premResults = [];

      $scope.searchByTeams = function () {
      ResultsService.getResultsList($scope.teams.teamA,$scope.teams.teamB,   function (res) {
      $scope.premResults = res;
    );
  };
}

服务:

angular
.module('resultsApp')
.service('ResultsService', ResultsService);

    function ResultsService(ResultFactory) {

        this.getResultsList = getResultsList;

        function getResultsList(teamA, teamB, callback) {
            return ResultFactory.get({teamA: teamA, teamB: teamB}, callback);
    }
}

工厂

angular
    .module('resultsApp')
    .factory('ResultFactory', ResultFactory);

function ResultFactory($resource) {
    return $resource('api/results', {}, {
        get: {method: 'get', isArray: true}
    });
 }

如果您遇到这样的错误:

Error: [$injector:unpr] Unknown provider: ResultsServiceProvider <- ResultsService <- ResultsController

它通常表示以下内容之一:

  • 您在创建(声明)名称时 拼错了 ResultsService 名称
  • 或者您没有插入脚本标签指向包含服务的文件index.html
  • 或者您在主应用程序模块以外的某个模块中创建了服务,但忘记将此模块列为应用程序的依赖项之一(例如angular.module('myApp', ['moduleWithService']);)

所以在调试这类错误时,你应该始终从检查这3件事开始。