問題タブ [angularjs-rootscope]

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 投票する
1 に答える
37 参照

angularjs - 2 つのイベントがトリガーされた後に関数を呼び出す

上記のコードは、stopSPinner がイベントを受け取ると実行されるように機能します。しかし、私の要件はもう少し複雑です。関数を実行する前に、2 つの異なるイベントが受信されるのを待ちたいと思います。イベントの順序は異なる可能性がありますが、両方のイベントが発生した場合にのみ実行するように機能したいと考えています。どうすればこれを達成できますか

0 投票する
0 に答える
21 参照

javascript - $routeOnChange の配置は、それがトリガーされるために重要ですか?

$routeOnChange で $on リスナーをインスタンス化する場所は重要ですか? 現在、2 つのディレクティブに $rootScope.$on("$routeOnChange", myFunction) があります。1 つのディレクティブでは、Web サイトを更新するとリスナーは正常に動作しますが、他のディレクティブでは、ディレクティブをインスタンス化するだけでトリガーされません。

リスナーがトリガーするディレクティブ、directiveA を呼び出しましょう。ディレクティブ A の html テンプレートでは、ディレクティブ B (トリガーされません) を使用します。それが何かに影響するかどうかはわかりません。あるディレクティブで動作/トリガーされ、他のディレクティブでは動作しないのは奇妙に思えます。ただし、別のページに移動すると、directiveB でトリガーされます。リフレッシュするだけではトリガーされません。

ありがとう!

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

javascript - AngularJS スコープを JS Chart に渡す

私のhtmlファイルのJavascript内でそのコントローラーでグローバルに宣言された$scope内にあるコントローラーから配列を使用しようとしています。これは可能ですか?$rootScope を実装しようとしましたが、実装に問題があるかどうかはわかりませんが、$rootScope が最初に呼び出され、コンソールで未定義になり、コントローラーが後で値を設定します。

これは私のコントローラーです

これは、HTML 内に配置された JS です

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

angularjs - 角度更新リスト $rootScope:infdig

コールバック関数内でスコープ リストを更新しようとしています。これは明らかに正常に動作しますが、数秒後にコンソールにエラー[$rootScope:infdig]が表示されます。双方向データバインディングを無効にしようとしましたが、エラーが続きます。

コントローラ:

意見:

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

angularjs - ページが更新されるまで Ng-Repeat が更新されない

私が取り組んでいることの簡単な要約を与えるには:

このアプリは、バックエンド システムを呼び出して JSON ペイロードを返す電話帳です。JSON ペイロードは解析され、オフライン アクセス用にローカル ストレージに保存されます。データは単純なホーム画面形式に反映されます。

簡単なワークフローを提供するには:

  1. ユーザーのログイン
  2. Ajax リクエストを介したバックエンドへの呼び出しは、ユーザーのアカウントで行われます
  3. データはローカルストレージに保存されます
  4. $rootScope.allEmployeeInformation 変数にデータが追加されます
  5. Ion-List は、ホーム画面の $rootScope.allEmployeeInformation 変数に格納されたデータを反映します。

私の問題はここにあります:

ログイン後、データは適切にプルされて保存されますが、実装したプルツーリフレッシュ機能、再同期ボタン、またはアプリの再起動によってページがリフレッシュされるまで、Ion-List にはデータが表示されません。

ユーザーがページを更新しなくても、これらのデータが確実に表示されるようにする方法はありますか?

必要な情報を提供させていただきます。助けてくれてありがとう!

編集、要求に応じていくつかのコードで更新:

ajax リクエストを実行するコード

情報を表示する HTML:

編集#2:一見すると予想したように、Ion-Listではなくng-repeatの問題であるという事実に絞り込んだと思います。参照タグを更新します。

乾杯!マイク

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

angularjs - Angularjs - 実行、ファクトリ、およびコントローラ ブロック間で編集可能なデータを共有するにはどうすればよいですか?

tl;dr - app.run は、API を呼び出すたびに $rootScope.variable の値をリセットします。これを回避する方法を見つける手助けが必要です。

AngularJS + ASP.NET Web API セットアップがあります。ログイン API を除くすべての API 呼び出しでトークンを送信するには、AngularJS が必要です。このコードを app.run に配置しました。

ログイン API は応答でトークンを取得します。その値を $rootScope.token に保存し、そのトークンを他のすべての API 呼び出しの HTTP ヘッダーで「myToken」の値として送信します。したがって、loginController は $rootScope を更新できるようにする必要があり、$.ajaxSetup は $rootScope.token の更新された値を取得する必要があります。これは、loginController がトークン値を取得して $rootScope.token を更新する方法です。

$apiFactory.callAPI は、実際の API 呼び出しのためにファクトリで作成した標準関数です。

LoginController は $rootScope.token を正常に更新しますが、次の API 呼び出しを行うと、ajaxSetup を実行するために .run に移動し、$rootScope.token が未定義として検出されます。

これを修正するにはどうすればよいですか? どうもありがとう!

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

javascript - Angularjs: Uncaught ReferenceError $rootScope が定義されていません

実行しようとすると、次のメッセージが表示されます。

Uncaught ReferenceError: $rootScope は app.js 行 12 で定義されていません

ここに私のjs/app.jsがあります

この js/controller.js

サービス/eventFactory.js

そして index.html で、この方法でスクリプトを追加しました