ばかげているように聞こえるかもしれないシナリオがありますが、動かなくなって、それが機能しない原因を理解しようとしています。
今のところ3つのモジュールを持つAngularアプリがあります
var app = angular.module('mainApp', ['ngRoute']); //parent module
var reviewModule = angular.module('reviewModule', ['mainApp']); //child 1
var searchmodule = angular.module('searchmodule', ['mainApp']); //child 2
すべての子モジュールで使用したい親モジュール (mainApp) にいくつかの構成とデフォルト文字列を設定しました。
一方、私の reviewModule と searchmodule (子モジュール) には、別のルートで使用している別のコントローラーとサービスがあります。さて、あるモジュールのサービスを別のモジュールに使用したいときに問題が発生します。たとえば、次のようにすると
var searchmodule = angular.module('searchmodule', ['mainApp', 'reviewModule']);
検索モジュール コントローラーで reviewModule サービスを使用しようとすると、次のような例外が発生します。
Error: $injector:modulerr Module Error
Failed to instantiate module searchmodule
両方の子モジュールは同じ親を持ち、一方の子モジュールをもう一方の子モジュールに使用したいのですが、なぜこの例外が発生するのか理解できませんでした。
アップデート:
モジュール宣言に以下の行を使用してみました
var searchmodule = angular.module('searchmodule', ['reviewModule']);
しかし、これも例外を引き起こします。