angularjs模块依赖

时间:2013-04-16 07:46:50

标签: angularjs dependencies breeze

我已经定义了我的主要模块:

angular.module('domiciliations', ['domiciliations.service', 'loggerService', 'person.directives']).
  config(['$routeProvider', function ($routeProvider) {
  $routeProvider.
      when('/domiciliations/mandats', { templateUrl: 'domiciliations/views/mandats.html', controller: mandatsCtrl }).
      when('/domiciliations/mandats/:rum', { templateUrl: 'domiciliations/views/mandat.html', controller: mandatCtrl }).
      otherwise({ redirectTo: '/domiciliations/mandats' });
  }]).
  value('toastr', window.toastr).
  value('breeze', window.breeze);

我的问题是如何在控制器中指定模块依赖项?

如果我这样做:

angular.module('domiciliations.service', ['ngResource', 'breeze', 'loggerService']).
  factory('Domiciliation', function ($resource, breeze, logger) {
}

然后我收到错误'no module:breeze'。

如果我这样做,那就有效:

angular.module('domiciliations.service', ['ngResource']).
   factory('Domiciliation', function ($resource, breeze, logger) {
}

那我怎么想在微风和记录器上指定依赖?

1 个答案:

答案 0 :(得分:17)

breeze不是模块 - 它是domiciliations模块中的value (shorthand for service)value('breeze', window.breeze);

当你这样做时:

angular.module('domiciliations.service', ['ngResource', 'breeze', 'loggerService']).
  factory('Domiciliation', function ($resource, breeze, logger) {
}

您将domiciliations.service 模块配置为模块ngResourcebreezeloggerService的依赖项。 Angular找不到breeze 模块并抛出异常。

假设loggerService是一个模块且logger是此模块中的服务,则以下内容应该有效(breezelogger将在工厂函数中注入):

angular.module('domiciliations.service', ['ngResource','loggerService']).
   factory('Domiciliation', ['$resource','breeze','logger',
     function ($resource, breeze, logger) {
    }
  ])