AngularJS - 创建工厂时的未知提供者

时间:2015-08-13 16:25:28

标签: angularjs angularjs-routing angularjs-factory

我有一个我无法解决的问题...... 我创建了一个模块和一个工厂。 现在我尝试使用配置块中的工厂进行路由,但我有一个“未知提供程序”错误。 调试,我已经简化了代码尝试并得到了重点,但我仍然有同样的错误。 我有以下代码:

(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而且这个有效,但我不能再使用我的工厂了

1 个答案:

答案 0 :(得分:3)

您不能将服务注入配置块,只能提供商。

您需要为服务声明一个提供程序,以便能够添加他与stateProvider / urlRouterProvider之间的交互。

如果您不需要这些交互并且只需要初始化某些内容,请使用运行块而不是您将注入服务的配置块。