13

こんにちは、私は数日間運が悪いので、これをやろうとしてきました。

とにかく、いくつかの js スクリプト (angular モジュールを含む) を非同期的にロードし、初期化後に実行中のアプリに挿入する方法はありますか。

基本的に、サーバーから要求された HTML が入力されるコンテナー DOM 要素があります。この HTML コードに基づいて、必要な js ファイル (モジュール) を決定し、それらを非同期にロードして、モジュールを角度アプリに挿入し、コンパイルします。新しく注入されたモジュールを含むコンテンツ。

試してみましたが、モジュールを挿入するブートストラップ メソッドを実行するたびに、メイン コントローラーが起動し、スコープの状態がすべて消去されます。:(

この辺で何か助けはありますか?

4

2 に答える 2

3

醜いですが、動作します: http://jsfiddle.net/MzseV/7/

基本的には、モジュールの_invokeQueueメンバーを反復し、サービス、コントローラー、ディレクティブの登録に使用されるプロバイダーを使用して関数を適用することで機能します (注: これらは AFAIK をブートストラップする前にキャプチャする必要があります)。これにより、おそらく以前に登録したものはすべて再登録されるため、必要なものだけを選択するヒューリスティックが必要になる場合がありますが、再登録に損傷があるかどうかはわかりません.

繰り返しますが、これはかなり恐ろしくハックなので、最後の手段としてのみ使用します。

これが私が尋ねた質問で、後でこれについて答えました。

編集:この質問がどれくらい古いかに気づきました。まだ誰かの役に立てば幸いです。

于 2013-08-21T18:49:14.127 に答える
3

おそらくこれが役立つでしょうか?

app.requires.push("myModule");

モジュール変数にしかアクセスできない場合のモジュールの注入

于 2016-08-11T08:04:10.737 に答える