2014-01-09 4 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 является поставщиком, вы можете только вводить $provide в app.config методом , не в .run способ.

+0

Если я пытаюсь использовать $ обеспечить в испытательном оборудовании. Каков правильный способ инъекции $ в этом случае? – Blake

+0

@Blake $ предоставляют методы, непосредственно доступные в переменной приложения (возвращаются 'angular.module()'). Я не знаю, это то, что вы хотели. – Daiwei

Смежные вопросы