使用angular.bootstrap()时AngularJs未知提供程序错误

时间:2013-08-04 20:22:52

标签: javascript angularjs

这是我的代码:

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] );

然后我没有收到任何错误,但是没有调用配置函数myConfigFunction。 (该功能只是将一行记录到控制台)。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我不确定routeResolver实际上是什么(可能是this?)

由于只有提供者可以注入config()块,因此您还需要添加provider一词,以便routeResolver变为routeResolverProvider,错误就会消失。

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

Working example on jsfiddle