問題タブ [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.
javascript - rootScope ダイジェスト エラーをスローするカスタム有効期限ディレクティブ
両方のフィールドが入力された後に検証する必要がある 2 つの入力フィールドがあります。クレジットカードの有効期限なので、month
とがありyear
ます。実際に検証を行うためにサードパーティのサービスを使用しています。
したがって、exp
、expMonth
、およびの 3 つのディレクティブをセットアップしますexpYear
。
を使用し$watch
てユーザー入力を検証しますが、検証が false の場合はエラーを表示したいと思います。を使おうとするng-class
とexampleForm.$error.expiry
、Error: [$rootScope:infdig] 10 $digest() iterations reached.
ここにデモがあります http://plnkr.co/edit/SSiSfLB8hEEb4mrdgaoO?p=preview
view.html
exp.directive.js
expMonth.directive.js
expYear.directive.js
angularjs - $rootScope.$on の $rootScope.$broadcast: RangeError: 最大コール スタック サイズを超えました
次のように角度でページタイトルを定義したい:
標準PageController
:
次に実行ブロックで:
そして最後にPageHeaderController
:
$rootScope
このように、 eachPageController
に注入する必要はありませんが、$scope
それは他のタスクによく使用されます。
しかし、2 番目のコード ブロックの上記の行でこのエラーが発生します。
RangeError: 最大呼び出しスタック サイズを超えました
ここで何が問題なのですか? ここで無限ループの原因がわかりません。これらの手順を実行しただけだと思うからです。
- 子から放出
- rootscope で処理し、子にブロードキャストする
- 特定の子で処理する
javascript - angular-meteor $rootScope.currentUser は未定義です
angular-meteor を使用して構築しているかなり単純なアプリケーションがあります。以下は私の app.js ファイルです。ユーザーがログインすると、ホーム状態にリダイレクトされます。通常、$rootScope.currentUser が存在し、ビューなどに表示する必要があるユーザー データを取得できます。ただし、更新時に $rootScope.currentUser が未定義であるというエラーが表示されることがあります。Meteor ユーザー コレクションにアクセスしようとすると、まだ準備ができていないことがあると確信していますが、これを毎回確実に行う方法がわかりません。
angularjs - サービスで未定義の $rootScope プロパティ値
Web サイトで何かを行う前にアクセスする必要があるデータベースにテーブルがあります。取得した値は、さまざまなコントローラー、ディレクティブ、サービスなど全体で使用します。これらの値を保存するのに最適な場所は、$rootScope
その目的のために、次のことを行いました。
問題なくドメインを取得できるので、すべて問題ありません。問題は、$rootScope
サービスに挿入するときです。
サービスコードが実行された後に応答が返されるため、そこには何もないことが予想されます。
問題は、そのファクトリ コードを複数のコントローラーで使用していて、ajax 呼び出しからデータが返されるまで待機するように実行を遅らせる方法がわからないことです。
ブロードキャストを試みましたが、retun
ある時点で結果が戻ってきたとしても、工場の処理を遅らせる方法はありません (私が知っていることです)。私が抱えているこの問題についてどうすればいいですか?
答え:
このための $rootScope の使用を廃止します。サービスから返された結果を使用するコントローラーは次のようになります。
サービスは次のようになります。
angularjs - コントローラーで $rootScope にアクセスできません
$rootScope
以下に指定されているように、いくつかのパラメーターがあります。
上記のコードを実行すると、 firebug からこのエラーが発生します
TypeError: $rootScope.items is undefined
。何が起こっているのか本当にわかりません。
ここに小さな追加があります。items
次のようなオブジェクトのリストを含む配列です。
items
サーバーに別のリクエストを行うことなく、アイテム リスト (アイテム) に各アイテムを表示できるように、アプリで常に利用できるようにしたいと考えています。$scope.item = items[$routeParams.id]
アイテムを表示する必要があるたびにアイテムを表示するだけで、これを達成するつもりです。ng-click
付属の機能や通常の#/route/:param
仕組みで実現できることを楽しみにしています。ありがとう
angularjs - angularjs のメッセージ pub/sub
私が取り組んでいる angularjs プロジェクトでメッセージング サービスを作成しています。
サービスを呼び出すとき、これが私がしていることです
呼び出し元のコントローラーで登録解除の部分を処理しています。
各コントローラーで登録解除を呼び出すのではなく、一般的なパターンとしてメッセージバスサービスで実行できることはありますか?
angularjs - $routeProvider $ angular.config の設定中に templateUrl を動的に追加する
私は角度のある初心者です。次のコードを実現したいと思います...
ViewSwitcher は、pageId、userId($rootScope に保存) に従って HTML ページを応答するサーブレットです ...しかし、$rootScope は利用できません....よろしくお願いします!