[解決済み] Angularで$rootScopeを使用して変数を格納するにはどうすればよいですか?
2022-04-08 07:45:45
質問
を使用するにはどうすればよいのでしょうか?
$rootScope
を使用して、あるコントローラで変数を保存し、後で別のコントローラでアクセスできるようにすることはできますか? 例えば
angular.module('myApp').controller('myCtrl', function($scope) {
var a = //something in the scope
//put it in the root scope
});
angular.module('myApp').controller('myCtrl2', function($scope) {
var b = //get var a from root scope somehow
//use var b
});
どうすればいいのでしょうか?
どのように解決するのですか?
ルートスコープに設定された変数は、プロトタイプ継承によりコントローラスコープで利用可能です。
以下は、@Nitish のデモを修正したもので、もう少し関係が分かりやすくなっています。 http://jsfiddle.net/TmPk5/6/
モジュールの初期化時に rootScope の変数が設定され、その後、継承されたスコープがそれぞれ独立して設定可能なコピーを取得することに注目してください (
change
関数を使用します)。 また、rootScope の値も更新することができます (
changeRs
の関数は
myCtrl2
)
angular.module('myApp', [])
.run(function($rootScope) {
$rootScope.test = new Date();
})
.controller('myCtrl', function($scope, $rootScope) {
$scope.change = function() {
$scope.test = new Date();
};
$scope.getOrig = function() {
return $rootScope.test;
};
})
.controller('myCtrl2', function($scope, $rootScope) {
$scope.change = function() {
$scope.test = new Date();
};
$scope.changeRs = function() {
$rootScope.test = new Date();
};
$scope.getOrig = function() {
return $rootScope.test;
};
});
関連
-
[解決済み] AngularJSのグローバル変数
-
[解決済み] Angular JS $locationChangeStart 次の url ルートオブジェクトを取得する
-
[解決済み] 'ApplicationSignInManager' が見つからない(ASP.NET MVC)
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] あるAngularJSのコントローラが別のコントローラを呼び出すことはできますか?
-
[解決済み] rootScope.$broadcast vs. $scope.$emit
-
[解決済み] モデルデータや振る舞いをどこに置くか?[tl; dr; サービスを利用する]
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] Angular UI-Routerのマルチビュー
-
[解決済み] シンプルなangularjsの日付入力
-
[解決済み] ng-repeat内で$indexを使用して、クラスを有効にしてDIVを表示するにはどうすればよいですか?
-
[解決済み] AngularJSの$parentは何を意味するのですか?
-
[解決済み] 新しい/分離されたスコープを求める複数のディレクティブ [ngController, ...] がある。
-
[解決済み] AngularJSのリソースプロミス
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] angularJSの::の意味するところ
-
[解決済み] AngularJS コントローラ間のデータ共有