問題タブ [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 投票する
5 に答える
29380 参照

javascript - サービスで角度の $rootScope にオブジェクトをバインドするのは悪いことですか?

angular では、サービスを介してアプリケーション全体に公開されるオブジェクトがあります。

そのオブジェクトのフィールドの一部は動的であり、サービスを使用するコントローラーのバインディングによって通常どおり更新されます。ただし、一部のフィールドは計算されたプロパティであり、他のフィールドに依存し、動的に更新する必要があります。

簡単な例を次に示します (これは jsbin hereで動作しています)。私のサービス モデルは fieldsaを公開bし、cwherecは in から計算さa + BcalcC()ます。私の実際のアプリケーションでは、計算はもっと複雑ですが、本質はここにあります。

これを機能させるために考えられる唯一の方法は、サービス モデルを にバインドし、$rootScopeを使用$rootScope.$watchして、コントローラーの変更を監視するか、コントローラーが変更さabたときに を再計算することですc。しかし、それは醜いようです。これを行うより良い方法はありますか?


2 つ目の懸念事項は、パフォーマンスです。私の完全なアプリケーションabは、 と は、 に集約されるオブジェクトの大きなリストですc。これは、$rootScope.$watch関数が多くの深い配列チェックを行うことを意味し、パフォーマンスが低下するように聞こえます。

私はこれをBackBoneのイベント化されたアプローチですべて機能させています。これにより、再計算が可能な限り削減されますが、角度はイベント化されたアプローチではうまく機能しないようです。それについての考えも素晴らしいでしょう。


これがアプリケーションの例です。

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

angularjs - AngularJS - run メソッドから ng-init 変数にアクセスする

1) ng-init Eg で初期化された変数があります -

2) .run メソッドからアクセスしたい。例 -

以下のシナリオを試しましたが、うまくいきませんでした -

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

angularjs - $rootScope をリセットするには?

ユーザーがログアウトしたら、$rootScope をクリーンアップする必要があります。試してみ$rootScope.$destroy()ましたが、うまくいきませんでした。$rootScope のすべての値をループして削除する方法、または単純にリセットする方法はありますか?

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

javascript - AngularJS でオブジェクトを削除する

次のように、AngularJS に $rootScope オブジェクトがあります。

オブジェクトを $rootScope.stuff に追加する関数を定義しましたが、正常に動作します。

ただし、削除を試みる関数もあり ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/deleteに基づく)、機能していません。

確認する$rootScope.stuff[id]と、削除したい正しいオブジェクトを取得しています。スプライスも試しましたが、思ったようにエラーがスローされます。助言がありますか?ありがとう。

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

angularjs - Polymer.dart に角度のある $rootScope に似たものはありますか?

angular には $rootScope と呼ばれるものが存在することを知っています。これには、すべてのコントローラーによって共有される変数が含まれています。親変数を常に属性として渡す必要がないように、Polymer に似たものを探しています。

今、私はこれに似たようなことをしています:

インデックス HTML コード:

親 HTML コード:

親ダーツ コード:

子 HTML コード:

子ダーツ コード:

言い換えれば、最上位の親から最下位の子までずっと属性を渡しています。これは良くないと思うので、angular の $rootScope に似たものでやりたいと思います。

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

angularjs - エラー: [$rootScope:inprog] $apply は既に進行中です

角度のあるアプリで使用しようとしたところ'ngTagsInput'、アプリのタグは正常に動作していますが、同時にコンソールにエラーがスローされます.UIフローには影響しませんが、コンソールにエラーが記録されています.なぜ原因と解決策このエラー。エラー:

これは、私のファイルがブラウザ用にダウンロードされる順序です

と私の見解

私のコントローラー

scope.watch/.eval/.applyを使用している自己定義ディレクティブがあります