ホームページ >ウェブフロントエンド >jsチュートリアル >AngularJS モジュール管理の問題を処理する型破りな方法_AngularJS
1.原因
私は winform に取り組んでおり、幸運なことに、node.js、express、angularJS などの多くのオープンソース フレームワークを統合するプロジェクトをマスターから引き継ぎ、すぐに棚に並べることができました。そこで私は、過去のアイデアを活用しながらコードを整理し、リファクタリングしました。
2. 質問特定の環境では、BootStrap のモーダル ボックスを使用する必要があります。Win から学習していますか? 。 当然のことながら、boostStrp モーダル ボックスをユニバーサルなものに統合し、どこでも呼び出すことを考えました。 。 。
そのため、ダイアログ ファイルは patial を使用して参照され、ダイアログ ボックス自体はサーバー関連の通信に anglurJS を使用します。
後で、1 つだけを使用するとうまく動作することがわかりました。複数回参照されると (異なるデータを呼び出すと)、1 つだけが動作します。 。
3. 分析
いくつかの情報を確認したところ、angular.bootstrap の呼び出しはページ上で 1 回しか実行できないことがわかりました。また、以前にすべての angular.module を別々の JS ファイルに記述しました。 time JS ファイルは最終的に angular.bootstrap を呼び出すため、当然失敗します。
4.楽しみにしてます
そこで、さまざまなファイルをページに部分的に自由に追加でき、js ファイルが繰り返し参照されず、AngulurJS も完全に実行できるソリューションメカニズムが必要です。
5.解決策
親愛なる皆さん - この方法は少し嫌なものですが、間違いなく直接的で効果的です。
アイデアは、すべての AngularJS モジュールをグローバル配列で動的に維持し、それらを動的にロードすることです
もう話す必要はありません。コードを投稿するだけです
フレーム ページ (レイアウト...) の先頭にある angulurinit.js ファイルを参照します。コードは次のとおりです:
Array.prototype.indexOf = function (val) { for( var i = 0; i < this.length; i++) { if(this[i] == val) return i; } return - 1; }; var jsModules = new Array(); function Confirm(val){ if (jsModules.indexOf(val) > -1) return; else jsModules.push(val); };各 angul.js モジュールの
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。