角度1.5.6を使用しています。私のアプリケーションはいくつかのモジュールで構成されています。各モジュールには独自のビューとコントローラがあります。私の質問は、それぞれのコントローラで$ rootScopeを見る方法です。 $ rootScope.accountにグローバル変数があるので、すべてのコントローラで$ rootScopeを監視する必要があります。ユーザーが$ rootScope.accountページを更新すると、すべてのアプリケーションがクラッシュします。私はすべてのモジュールで$ rootScope.accountを見たいので、ユーザーがリフレッシュしたら、リフレッシュを処理してログインページにリダイレクトすることができます。私は私のモジュールのすべてに私が注入するサービスの可能性があると思った?
0
A
答えて
0
2つの簡単な方法で実行できます。
まず:あなたのコントローラに$rootScope
を含める:
app.controller('MyCtrl', [
'$rootScope',
'$scope',
function($rootScope, $scope) {
$rootScope.$watch('myvar', function(newValue, oldValue) {
doSomething();
}
//...
}
]);
セカンド。他のスコープに同じ名前の変数がない場合は、$rootScope
の使用を避けて、ちょうど$scope
を使用します。 $scope
はすべて$rootScope
から継承されているため、これが機能します。
app.controller('MyCtrl', [
'$scope',
function($scope) {
$scope.$watch('myvar', function(newValue, oldValue) {
doSomething();
}
//...
}
]);
関連する問題
- 1. $ rootScopeとサービス - Angular JS
- 2. Angular JS双方向バインディングが$ rootScopeでも動作しない
- 3. Angularのアプリケーション全体でイベントを放映してブロードキャストする
- 4. Angularアプリケーション全体でウェブAPI消費データを保存する
- 5. Angular JSでアプリケーションを構造化する方法
- 6. Angular JSのアプリケーション間でメッセージングサービスを作成する方法は?
- 7. キャッシュAngular JSアプリケーションでJSファイルを発行
- 8. Angular JSアプリケーションlocalhost Path
- 9. Angularの$ rootScopeをAngular 2に置き換えていますか?
- 10. Tizen WebアプリケーションAngular JSチュートリアル
- 11. アンドロイドでアプリケーション全体を最小限に抑える方法は?
- 12. アプリケーション全体でブルートゥースを有効にする方法
- 13. Windows Formsアプリケーション全体でシリアルポートを使用する方法は?
- 14. .NETでアプリケーションのスタックトレース全体をログに記録する方法
- 15. アプリケーション全体でmysqlconnectionを使用する方法
- 16. D3.jsをAngular 2アプリケーションにインポートする正しい方法
- 17. バックグラウンド全体をマウスポインタの逆に移動する方法p5.js
- 18. React DVA JS Framework:状態アプリケーション全体をリセットする
- 19. React JSでのjavascriptファイル全体のインポート方法
- 20. ajaxサービスでAngular JSコントローラの単体テストを実装する方法は?
- 21. キーボード全体の変更アプリケーション全体のアプリケーション
- 22. ios swiftのアプリケーション全体でオーディオプレーヤービューを開く方法は?
- 23. アプリケーション全体のフォントサイズピッカー
- 24. JS全体にHTMLファイルを埋め込む方法
- 25. ember.jsのアプリケーション全体にコンポーネントを挿入する方法
- 26. アプリケーション全体のランドスケープモードを無効にする方法
- 27. android:アプリケーション全体のカスタムフォントを設定する方法
- 28. アプリケーション全体に対してUINavigationBarをカスタマイズする方法は?
- 29. QPlainTextEditアプリケーション全体のフォントを設定する方法
- 30. オブジェクトをアプリケーション全体に保持する方法は?
はい、工場を使用することができます。また、更新後に失われないように、ローカルストレージにユーザーアカウントを格納することもできます。 – MatthieuLemoine
いくつかのGoogle Chromeの拡張機能を試してみてください。これは、かなりの手間を要する 'ng-inpector'のようなものです。ここにURLがあります - https://chrome.google.com/webstore/detail/ng-inspector-for-angularj/aadgmnobpdmgmigaicncghmmoeflnamj –
[anglejsの可能な複製ルートスコープの変更](http://stackoverflow.com/questions/16888166)/angularjs-watching-rootscope-changes) – Bamieh