我有一个我无法解决的问题...... 我创建了一个模块和一个工厂。 现在我尝试使用配置块中的工厂进行路由,但我有一个“未知提供程序”错误。 调试,我已经简化了代码尝试并得到了重点,但我仍然有同样的错误。 我有以下代码:
(function(){
'use strict';
var app = angular.module('testModule', [
'ngResource',
'ui.router'
]);
app.factory('testFct', [function () {
return {
a: "bienvenue"
};
}]);
app.config(['testFct','$stateProvider','$urlRouterProvider',function(testFct, $stateProvider, $urlRouterProvider) {}]);
})();
和我得到的错误:
Error: [$injector:modulerr] Failed to instantiate module testModule due to:
[$injector:unpr] Unknown provider: testFct
注意:我试图注入testFctProvider而且这个有效,但我不能再使用我的工厂了
答案 0 :(得分:3)
您不能将服务注入配置块,只能提供商。
您需要为服务声明一个提供程序,以便能够添加他与stateProvider / urlRouterProvider之间的交互。
如果您不需要这些交互并且只需要初始化某些内容,请使用运行块而不是您将注入服务的配置块。