2015-06-27 77 views
3

我在我的角度js應用程序中得到這個錯誤,無法弄清楚是什麼導致了這個問題。這似乎是一個常見問題,但我所有的疑難解答都沒有幫助。如果任何人都可以指出這個問題可能會被讚賞。謝謝:)Angular JS未知提供者錯誤

錯誤:[$注射器: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} 
    }); 
} 
+0

你有你的js文件與'ResultsService'鏈接在'index.html'中嗎? –

+0

非常感謝我這麼笨!這有效! – kelnia

+0

:)很好有一個清單,看看在哪些錯誤。我會在第二個答案中編譯一個。 –

回答

5

如果你有一個錯誤,如本:

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

它通常是指那些事情之一:

  • 你或者是拼寫錯誤ResultsService名稱創建(聲明)它時。
  • 或者您尚未插入腳本標記指向您的index.html中包含服務的文件。
  • 或者你已經創建與您的主要應用模塊以外的某個模塊中的服務,但忘了調試過程中,列出該模塊爲您的應用程序的依賴之一(例如angular.module('myApp', ['moduleWithService']);

所以這種錯誤,你應該始終從檢查這3件事開始。

相關問題