这是我的代码:

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

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


每当执行此操作时,都会出现错误:Unknown provider: routeResolver from myApp

但是,如果我将angular.bootstrap移动到config函数之前,即:

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

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


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

我究竟做错了什么?

最佳答案

我不确定routeResolver到底是什么(可能是this?)

由于只能将提供程序注入到config()块中,因此您还需要添加单词provider,以使routeResolver变为routeResolverProvider,错误将消失。

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


Working example on jsfiddle

09-18 17:23