2014-01-09 148 views
1

關於堆棧溢出有很多未知的提供者問題,到目前爲止我已經看過其中的幾個,但他們都沒有解決我的問題。如果我找到一個,我會刪除這個問題。angularjs未知提供者

這是我的代碼是什麼樣子,ExpenseTracker是angular.module

ExpenseTracker.run(["$provide", "$q",function($provide, $q){ 
    console.log("define gapi service") 
    window.gapiinit = function($q, $provide){ 
     var gapiPromise = $q.defer().promise; 
     var ROOT = 'https://localhost:1800/_ah/api'; 
     gapi.client.load('expensetTackerapi', 'v1', function() { 
       gapiPromise.resolve(gapi); 
},  ROOT); 
     $provide.factory("gapi",function(){ 
      return gapiPromise 
     }) 
    } 
}] 

錯誤看起來是這樣的:

Uncaught Error: [$injector:unpr] Unknown provider: $provideProvider <- $provide 
http://errors.angularjs.org/1.2.7/$injector/unpr?p0=%24provideProvider%20%3C-%20%24provide 

回答

5

$provide是一個供應商,你只能在app.config方法注入$provide ,不在.run方法。

+0

如果我試圖在測試夾具中使用$提供。在這種情況下注入$提供的正確方法是什麼? – Blake

+0

@Blake $提供的方法可直接在app變量上使用(由'angular.module()'返回)。我不知道這是你想要的。 – Daiwei

相關問題