web-dev-qa-db-ja.com

anglejsモジュールの依存関係

メインモジュールを次のように定義しました。

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

では、そよ風とロガーへの依存関係をどのように指定すると思いますか?

11
Sam

breezeはモジュールではありません-domiciliationsモジュールの value(サービスの省略形) です:value('breeze', window.breeze);

あなたがするとき:

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

モジュールngResourcebreeze、およびloggerServiceへの依存関係を使用して、domiciliations.servicemoduleを構成します。 Angular breezeモジュールが見つからず、例外をスローします。

loggerServiceがモジュールであり、loggerがこのモジュールのサービスであるとすると、以下が機能するはずです(breezeloggerはファクトリ関数に挿入されます) :

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