問題タブ [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.

0 投票する
4 に答える
18254 参照

angularjs - AngularJS でのモジュールと名前空間 / 名前の衝突

次の jfiddle を検討してくださいhttp://jsfiddle.net/bchapman26/9uUBU/29/

2 つのモジュール (module1 と module2) があります。module1 と module2 は両方とも、myService というサービスを定義します。これにより、両方のモジュールが myApp にインポートされると、Angular 内の myService で名前の競合が発生するようです。AngularJs は、問題の可能性を警告せずに 2 番目のサービス定義を使用しているようです。

非常に大規模なプロジェクト (または一般的にモジュールを再利用するだけ) では、名前が衝突するリスクがあり、デバッグが困難になる可能性があります。

名前の衝突が起こらないように、名前の前にモジュール名を付ける方法はありますか?

0 投票する
1 に答える
514 参照

angularjs - AngularJS モジュールの .run オーダーと e2e モック

私は AngularJS の E2E テストに取り組んでいます。

$httpBackend ngMockE2E を実装しました。

これはうまく機能しますが、場合によっては、モックが完全にセットアップされる前に HTTP リクエストが行われます。

モックは次のように設定されています。

そして、それは以下のように使用されます:

ただし、FirstDependency と ThirdDependency は、Mock .run() ブロックが実行される前に発生する HTTP リクエストを作成できます。これにより、リクエスト エラーが発生します。

モックを正しく設定していますか? モックが正しい順序でロードされるようにする最善の方法は何ですか?

0 投票する
1 に答える
147 参照

javascript - ディレクティブが AngularJS アプリに表示されないのはなぜですか?

helloWorldz.js次のようなfile というファイルにディレクティブを作成しました。

app.jsのルートを含む私のファイルは次のようになります:

完了していない私のコントローラmain.jsは次のようになります:

Chrome Dev ToolshelloWorldz.jsは、正常にロードされていることを示しています。下記参照

ここに画像の説明を入力

コントローラーの後にディレクティブ コードを配置し、その後に引数としてmain.js渡すと、ディレクティブ コードが機能することがわかります。変更されたコントローラーは次のとおりです。['components']mmAppmain.js

私のディレクティブを含むモジュールでapp.js正常に呼び出されないのはなぜですか? これは、に接続できないという可能性のある問題ですか?componentshelloWorldapp.jshelloWorldz.js

また、grunt を使用してすべてをコンパイルしていることにも言及する必要があります。

0 投票する
2 に答える
1516 参照

javascript - Angular モジュールのプライベート メンバー

AngularJS では、定義されているモジュール内で使用できるプライベート コントローラーまたはサービスを作成できますが、それらが注入される別のモジュールでは使用できません。

たとえば、PrivateController を Child モジュールに対してプライベートにすることができます。

0 投票する
1 に答える
17258 参照

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 が読み込まれません。

0 投票する
1 に答える
553 参照

javascript - AngularJS - 不明なプロバイダー

AngularJS を使用して小さなメモ作成アプリケーションを作成しようとしていますが、最初はつまずきました。ここに私の.jsファイルがあります:

そして、ここにhtmlファイルがあります:

追加してみました

しかし、NotesController には「$inject」という名前のメソッドがないというエラーが表示されるだけでした。

何も表示されず、ブラウザーはエラーを返します: "エラー: 不明なプロバイダー: $noteProvider <- $note"。確かに明らかな何かが欠けていますが、指を置くことはできません。問題はどこにありますか?