問題タブ [angularjs-module]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - AngularJS でのモジュールと名前空間 / 名前の衝突
次の jfiddle を検討してくださいhttp://jsfiddle.net/bchapman26/9uUBU/29/
2 つのモジュール (module1 と module2) があります。module1 と module2 は両方とも、myService というサービスを定義します。これにより、両方のモジュールが myApp にインポートされると、Angular 内の myService で名前の競合が発生するようです。AngularJs は、問題の可能性を警告せずに 2 番目のサービス定義を使用しているようです。
非常に大規模なプロジェクト (または一般的にモジュールを再利用するだけ) では、名前が衝突するリスクがあり、デバッグが困難になる可能性があります。
名前の衝突が起こらないように、名前の前にモジュール名を付ける方法はありますか?
angularjs - AngularJS モジュールの .run オーダーと e2e モック
私は AngularJS の E2E テストに取り組んでいます。
$httpBackend ngMockE2E を実装しました。
これはうまく機能しますが、場合によっては、モックが完全にセットアップされる前に HTTP リクエストが行われます。
モックは次のように設定されています。
そして、それは以下のように使用されます:
ただし、FirstDependency と ThirdDependency は、Mock .run() ブロックが実行される前に発生する HTTP リクエストを作成できます。これにより、リクエスト エラーが発生します。
モックを正しく設定していますか? モックが正しい順序でロードされるようにする最善の方法は何ですか?
javascript - ディレクティブが AngularJS アプリに表示されないのはなぜですか?
helloWorldz.js
次のようなfile というファイルにディレクティブを作成しました。
私app.js
のルートを含む私のファイルは次のようになります:
完了していない私のコントローラmain.js
は次のようになります:
Chrome Dev ToolshelloWorldz.js
は、正常にロードされていることを示しています。下記参照
コントローラーの後にディレクティブ コードを配置し、その後に引数としてmain.js
渡すと、ディレクティブ コードが機能することがわかります。変更されたコントローラーは次のとおりです。['components']
mmApp
main.js
私のディレクティブを含むモジュールでapp.js
正常に呼び出されないのはなぜですか? これは、に接続できないという可能性のある問題ですか?components
helloWorld
app.js
helloWorldz.js
また、grunt を使用してすべてをコンパイルしていることにも言及する必要があります。
javascript - Angular モジュールのプライベート メンバー
AngularJS では、定義されているモジュール内で使用できるプライベート コントローラーまたはサービスを作成できますが、それらが注入される別のモジュールでは使用できません。
たとえば、PrivateController を Child モジュールに対してプライベートにすることができます。
javascript - JavaScript ファイルが読み込まれないのはなぜですか?
私は JavaScript と AngularJS の両方が初めてです。建物管理システムと通信するアプリを構築しています。これには、BMS に接続してそこからデータを取得するサービスを含む「JaceMod」というモジュールがあります。Dygraphs を使用してデータをグラフ化する機能を追加し、グラフをインスタンス化してデータを入力するディレクティブを作成しました。
Dygraphs ディレクティブを「dygraphs」というモジュールの別のファイル「angular-dygraphs.js」に入れたいので、後で再利用でき、このモジュールを「JaceMod」の依存関係として必要とします。このような:
そしてメインファイル「app.js」:
html は次のようになります。
しかし、この html をロードすると、「Angular-dygraphs.js をロードしています」というコンソール メッセージに続いて、「エラー: モジュールがありません: JaceMod」というエラーが表示されます。にログ メッセージが表示されませんapp.js
。最後の 2 つの JavaScript ファイル ラウンドの読み込み順序を切り替えると、app.js が読み込まれ、エラー メッセージが「エラー: モジュールがありません: dygraphs」であることがわかります。2 番目にリストされたファイルはロードされていないようです。
コードを angular-dygraphs.js から app.js にコピーし、ディレクティブを独自のモジュールに残すと、機能します。
なぜこうなった?モジュールを独自のファイルなどに入れることはできませんか? ドキュメントはあまり役に立ちませんでした...
追加するために編集
html と js ファイルは、dygraphs と angular ライブラリを含め、すべて同じディレクトリにあります。ファイルからhtmlをロードしています。サーバーは関係ありません。
アップデート
angular-dygraphs.js からすべてを app.js にコピーし、angular-dygraphs.js 全体をコメントアウトしました。まだ問題が発生していますが、app.js が読み込まれません。
javascript - AngularJS - 不明なプロバイダー
AngularJS を使用して小さなメモ作成アプリケーションを作成しようとしていますが、最初はつまずきました。ここに私の.jsファイルがあります:
そして、ここにhtmlファイルがあります:
追加してみました
しかし、NotesController には「$inject」という名前のメソッドがないというエラーが表示されるだけでした。
何も表示されず、ブラウザーはエラーを返します: "エラー: 不明なプロバイダー: $noteProvider <- $note"。確かに明らかな何かが欠けていますが、指を置くことはできません。問題はどこにありますか?