11

我已经这样定义了我的主模块:

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) {
}

然后我得到一个错误'没有模块:微风'。

如果我这样做,它会起作用:

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

那么我应该如何指定对微风和记录器的依赖关系?

4

1 回答 1

17

breeze不是一个模块 - 它是模块中的一个值(服务的简写domiciliationsvalue('breeze', window.breeze);.

当你这样做时:

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

您将模块配置为对domiciliations.service 模块的依赖项ngResourcebreeze并且loggerService. Angular 找不到breeze 模块并引发异常。

假设loggerService是一个模块并且logger是这个模块中的一个服务,以下应该可以工作(breeze并且logger将被注入到工厂函数中):

angular.module('domiciliations.service', ['ngResource','loggerService']).
   factory('Domiciliation', ['$resource','breeze','logger',
     function ($resource, breeze, logger) {
    }
  ])
于 2013-04-16T08:25:57.843 回答