2013-08-04 39 views
2

這是我的代碼:AngularJs未知的提供程序錯誤使用angular.bootstrap時()

myApp = angular.module("myApp", []); 

myApp.config(['$routeProvider', '$controllerProvider', 
         '$compileProvider', '$filterProvider', 
         'routeResolver', myConfigFunction]); 
angular.bootstrap(document, ['myApp']);  

每當我這樣做,我得到的錯誤:Unknown provider: routeResolver from myApp

然而,如果我的配置之前移動angular.bootstrap功能,即:

myApp = angular.module("myApp", []); 
angular.bootstrap(document, ['myApp']);  

myApp.config(['$routeProvider', '$controllerProvider', 
         '$compileProvider', '$filterProvider', 
         'routeResolver', myConfigFunction]); 

然後,我沒有得到任何錯誤,但config功能myConfigFunction不叫。 (該功能只是將一行記錄到控制檯)。

我在做什麼錯?

+0

你使用Chrome或IE瀏覽器? –

+0

@MaximShoustin Chrome –

回答

1

我不知道什麼routeResolver實際上是(可能是this?)

因爲只有供應商可以注入config()塊,你還需要添加單詞provider所以routeResolver成爲routeResolverProvider和錯誤將消失。

myApp.config(['$routeProvider', '$controllerProvider', 
         '$compileProvider', '$filterProvider', 
         'routeResolverProvider', myConfigFunction]); 

Working example on jsfiddle

+1

'由於只有提供者可以被注入到config()塊'中,所以應該在文檔中提及......但是謝謝。這只是配置塊,還是在所有地方都是一樣的,即爲了使依賴塊能夠工作,所有的服務都必須有提供者? –

+0

並且您是正確的,routeResolve受該文章所述內容的啓發。 :) –

+0

它在模塊文檔的配置部分中提到。 http://docs.angularjs.org/guide/module –

相關問題