問題タブ [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 にオブジェクトをバインドするのは悪いことですか?
angular では、サービスを介してアプリケーション全体に公開されるオブジェクトがあります。
そのオブジェクトのフィールドの一部は動的であり、サービスを使用するコントローラーのバインディングによって通常どおり更新されます。ただし、一部のフィールドは計算されたプロパティであり、他のフィールドに依存し、動的に更新する必要があります。
簡単な例を次に示します (これは jsbin hereで動作しています)。私のサービス モデルは fieldsa
を公開b
し、c
wherec
は in から計算さa + B
れcalcC()
ます。私の実際のアプリケーションでは、計算はもっと複雑ですが、本質はここにあります。
これを機能させるために考えられる唯一の方法は、サービス モデルを にバインドし、$rootScope
を使用$rootScope.$watch
して、コントローラーの変更を監視するか、コントローラーが変更さa
れb
たときに を再計算することですc
。しかし、それは醜いようです。これを行うより良い方法はありますか?
2 つ目の懸念事項は、パフォーマンスです。私の完全なアプリケーションa
でb
は、 と は、 に集約されるオブジェクトの大きなリストですc
。これは、$rootScope.$watch
関数が多くの深い配列チェックを行うことを意味し、パフォーマンスが低下するように聞こえます。
私はこれをBackBoneのイベント化されたアプローチですべて機能させています。これにより、再計算が可能な限り削減されますが、角度はイベント化されたアプローチではうまく機能しないようです。それについての考えも素晴らしいでしょう。
これがアプリケーションの例です。
angularjs - AngularJS - run メソッドから ng-init 変数にアクセスする
1) ng-init Eg で初期化された変数があります -
2) .run メソッドからアクセスしたい。例 -
以下のシナリオを試しましたが、うまくいきませんでした -
angularjs - $rootScope をリセットするには?
ユーザーがログアウトしたら、$rootScope をクリーンアップする必要があります。試してみ$rootScope.$destroy()
ましたが、うまくいきませんでした。$rootScope のすべての値をループして削除する方法、または単純にリセットする方法はありますか?
javascript - AngularJS でオブジェクトを削除する
次のように、AngularJS に $rootScope オブジェクトがあります。
オブジェクトを $rootScope.stuff に追加する関数を定義しましたが、正常に動作します。
ただし、削除を試みる関数もあり ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/deleteに基づく)、機能していません。
確認する$rootScope.stuff[id]
と、削除したい正しいオブジェクトを取得しています。スプライスも試しましたが、思ったようにエラーがスローされます。助言がありますか?ありがとう。
angularjs - Polymer.dart に角度のある $rootScope に似たものはありますか?
angular には $rootScope と呼ばれるものが存在することを知っています。これには、すべてのコントローラーによって共有される変数が含まれています。親変数を常に属性として渡す必要がないように、Polymer に似たものを探しています。
今、私はこれに似たようなことをしています:
インデックス HTML コード:
親 HTML コード:
親ダーツ コード:
子 HTML コード:
子ダーツ コード:
言い換えれば、最上位の親から最下位の子までずっと属性を渡しています。これは良くないと思うので、angular の $rootScope に似たものでやりたいと思います。
angularjs - エラー: [$rootScope:inprog] $apply は既に進行中です
角度のあるアプリで使用しようとしたところ'ngTagsInput'
、アプリのタグは正常に動作していますが、同時にコンソールにエラーがスローされます.UIフローには影響しませんが、コンソールにエラーが記録されています.なぜ原因と解決策このエラー。エラー:
これは、私のファイルがブラウザ用にダウンロードされる順序です
と私の見解
私のコントローラー
scope.watch/.eval/.applyを使用している自己定義ディレクティブがあります