モジュールと angularjs のルーティングに関する質問があります。要件は、1 つのモジュールですべてのルーティング構成を定義することです。これを呼び出しましょうModuleRtr。
ルートがトリガーされると、コントローラーを呼び出す必要があります (TestCtrたとえば、呼び出されます)。このコントローラーは別のモジュールで定義されています - と呼びましょうModuleCtrl。
そうしようとすると、次のような例外が発生しました。
「引数
TestCtrは関数ではありません。未定義です」
. その理由は、angular ブロードキャストイベント時に、リスナーが現在のモジュールの一部として$routeChangeSuccessコントローラー () にアクセスしようとするためです。そこにないため、エラーがスローされます。TestCtrModuleRtr
TestCtrコントローラーを作成するだけでModuleRtr(ルートが含まれているものと同じ)、すべてが機能します。しかし、私はそれを望んでいませんTestCtr。別のモジュールに入れたいのです。ModuleCtrlまた、モジュールでルートを定義したくありません。
したがって、より簡単に言えば、私の質問は次のとおりです。あるモジュール ( ) で定義されたルートがModuleRtr、別のモジュール ( ) で定義されたコントローラーを呼び出すことは可能ModuleCtrlですか?
私が言及するのを忘れた何か...私はこれらの2つのモジュールを決してバインドしたくありません。もちろん、モジュールの作成中に依存関係をリストすることも含まれます。の動的読み込みを既に試しTestCtrましたが、問題は解決しませんでした。
シナリオは次のとおりです。2 つの angularjs アプリケーション (モジュール) があります。彼らはお互いについて何も知りません...1つのことを除いて-共有/共通の場所のどこかに、特定の構造(契約など)に従うオブジェクトがあります。最初のモジュールはそこにデータを書き込みます。次に、2 番目のモジュールから共通の関数を実行します (これは実際に私が尋ねている質問です - どのように?)。次に、2番目のモジュールは、どこに行くべきか(それはコントラクトです)、何を読み、何をすべきかをすでに知っています。これを行う 1 つの方法は、他のモジュールが作成されたときに、モジュールの依存関係を表す文字列を動的に生成することです。それが良い解決策かどうかはわかりません...
どうもありがとう!