0

ばかげているように聞こえるかもしれないシナリオがありますが、動かなくなって、それが機能しない原因を理解しようとしています。

今のところ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']);

しかし、これも例外を引き起こします。

4

1 に答える 1