問題タブ [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 に答える
344 参照

javascript - rootScope ダイジェスト エラーをスローするカスタム有効期限ディレクティブ

両方のフィールドが入力された後に検証する必要がある 2 つの入力フィールドがあります。クレジットカードの有効期限なので、monthとがありyearます。実際に検証を行うためにサードパーティのサービスを使用しています。

したがって、expexpMonth、およびの 3 つのディレクティブをセットアップしますexpYear

を使用し$watchてユーザー入力を検証しますが、検証が false の場合はエラーを表示したいと思います。を使おうとするng-classexampleForm.$error.expiryError: [$rootScope:infdig] 10 $digest() iterations reached.

ここにデモがあります http://plnkr.co/edit/SSiSfLB8hEEb4mrdgaoO?p=preview

view.html

exp.directive.js

expMonth.directive.js

expYear.directive.js

0 投票する
3 に答える
1123 参照

angularjs - $rootScope.$on の $rootScope.$broadcast: RangeError: 最大コール スタック サイズを超えました

次のように角度でページタイトルを定義したい:

標準PageController:

次に実行ブロックで:

そして最後にPageHeaderController

$rootScopeこのように、 eachPageControllerに注入する必要はありませんが、$scopeそれは他のタスクによく使用されます。

しかし、2 番目のコード ブロックの上記の行でこのエラーが発生します。

RangeError: 最大呼び出しスタック サイズを超えました

ここで何が問題なのですか? ここで無限ループの原因がわかりません。これらの手順を実行しただけだと思う​​からです。

  • 子から放出
  • rootscope で処理し、子にブロードキャストする
  • 特定の子で処理する
0 投票する
3 に答える
1108 参照

javascript - angular-meteor $rootScope.currentUser は未​​定義です

angular-meteor を使用して構築しているかなり単純なアプリケーションがあります。以下は私の app.js ファイルです。ユーザーがログインすると、ホーム状態にリダイレクトされます。通常、$rootScope.currentUser が存在し、ビューなどに表示する必要があるユーザー データを取得できます。ただし、更新時に $rootScope.currentUser が未定義であるというエラーが表示されることがあります。Meteor ユーザー コレクションにアクセスしようとすると、まだ準備ができていないことがあると確信していますが、これを毎回確実に行う方法がわかりません。

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

angularjs - サービスで未定義の $rootScope プロパティ値

Web サイトで何かを行う前にアクセスする必要があるデータベースにテーブルがあります。取得した値は、さまざまなコントローラー、ディレクティブ、サービスなど全体で使用します。これらの値を保存するのに最適な場所は、$rootScopeその目的のために、次のことを行いました。

問題なくドメインを取得できるので、すべて問題ありません。問題は、$rootScopeサービスに挿入するときです。

サービスコードが実行された後に応答が返されるため、そこには何もないことが予想されます。

問題は、そのファクトリ コードを複数のコントローラーで使用していて、ajax 呼び出しからデータが返されるまで待機するように実行を遅らせる方法がわからないことです。

ブロードキャストを試みましたが、retunある時点で結果が戻ってきたとしても、工場の処理を遅らせる方法はありません (私が知っていることです)。私が抱えているこの問題についてどうすればいいですか?

答え:

このための $rootScope の使用を廃止します。サービスから返された結果を使用するコントローラーは次のようになります。

サービスは次のようになります。

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

angularjs - コントローラーで $rootScope にアクセスできません

$rootScope以下に指定されているように、いくつかのパラメーターがあります。

上記のコードを実行すると、 firebug からこのエラーが発生します TypeError: $rootScope.items is undefined。何が起こっているのか本当にわかりません。

ここに小さな追加があります。items次のようなオブジェクトのリストを含む配列です。

itemsサーバーに別のリクエストを行うことなく、アイテム リスト (アイテム) に各アイテムを表示できるように、アプリで常に利用できるようにしたいと考えています。$scope.item = items[$routeParams.id]アイテムを表示する必要があるたびにアイテムを表示するだけで、これを達成するつもりです。ng-click付属の機能や通常の#/route/:param仕組みで実現できることを楽しみにしています。ありがとう

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

angularjs - angularjs のメッセージ pub/sub

私が取り組んでいる angularjs プロジェクトでメッセージング サービスを作成しています。

サービスを呼び出すとき、これが私がしていることです

呼び出し元のコントローラーで登録解除の部分を処理しています。

各コントローラーで登録解除を呼び出すのではなく、一般的なパターンとしてメッセージバスサービスで実行できることはありますか?

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

angularjs - $routeProvider $ angular.config の設定中に templateUrl を動的に追加する

私は角度のある初心者です。次のコードを実現したいと思います...

ViewSwitcher は、pageId、userId($rootScope に保存) に従って HTML ページを応答するサーブレットです ...しかし、$rootScope は利用できません....よろしくお願いします!