2016-04-19 13 views
0

これは、AngularJSのモジュールとサービス、およびそれらを定義する方法についての質問です。 angular.module(:AngularJS:1サービス複数のモジュール

  1. アプリが複数のモジュール
  2. で構成することができるサービスは、サービスが(一般に)で定義され
  3. 一般的に使用されるコードは、複数のモジュールによって因数分解して使用することを可能にします'module1')。factory( 'serviceA'、function(){...});

上記のすべてが真である場合、serviceAの定義にmodule1への参照が含まれているのはなぜですか?それを使用したいモジュールを無知にしてはいけませんか?

上記のサービスにアクセスするためにmodule2をビルドしていて、serviceA.jsを参照していた場合、module1は定義されていません。

私の質問は、どのようにして独立したモジュールを作成し、それらのモジュールがすべてグローバルサービスにアクセスするのかということです。私が見たすべての例では、サービスは特定のモジュールと緊密に結合されています。

答えて

0

factory()メソッドはモジュール上のメソッドなので、モジュールインスタンスを呼び出す必要があります。基本的には、そのステートメントは、その特定のモジュールでそのファクトリを定義したいとしています。

あなたはモジュール2で使用される何かでModule1のが必要な場合は、モジュール2は、モジュール1上の依存関係を宣言する必要があります。書き込みユニットテストはすぐに本当にお教えしますことを

angular.module('module2', ['module1']); 

ことの一つは、より多くの場所の何かが使用されていることです、 more重要なのはモジュールに入れることです。多くの場所で使用されているため「グローバル」として扱おうとすると、基本的にどこでも使用されているサービスを使用するためにアプリケーション全体をブートストラップする必要があります。

関連する問題