コントローラに$scope
という変数を作成しました。明らかに、そのコントローラには$scope
が適用されます(利用可能です)。他のページの他のコントローラーでその$scope
を使用できますか?他のページに変更すると、範囲が変わるのですか?
1
A
答えて
2
各コントローラにはそれぞれ$scope
があります。ページのすべてのコントローラにアクセスする$rootScope
がありますが、これはappモジュールのグローバル変数コンテナと似ているため、これは推奨された方法ではありません。好ましい方法は、カスタムサービスを使用することです。 $ rootScope使用
:
$rootScope.value = "shared value using $rootScope";
これは、それぞれ$root.value
と$rootScope.value
として任意のビューまたはコントローラにアクセスすることができます。これはCustomService
を注入し、その$scope
に取り付ける任意のコントローラにアクセスすることができる
$scope.shareCustom = function() {
CustomService.value = "shared value using CustomService";
};
カスタムサービスを使用
。
スニペット:
.controller('AnyCtrl', function ($scope, CustomService) {
$scope.customService = CustomService;
});
<p>{{customService.value}}</p>
私は、共有データのこれらの方法の両方を説明するためにPlunker Demoを行いました。
1
あなたなしはできません。別のページに移動すると、新しいコントローラが初期化されます。
同じ変数を使用するには、工場/サービスを使用して変数を共有することを検討してください。 $ rootScopeを使うこともできますが、推奨される方法ではありません。
関連する問題
- 1. 範囲内のセル値を更新するExcelの範囲内の別のセルを変更することに基づいて範囲を変更する
- 2. 初期範囲と行先範囲を変更する
- 3. jqueryツールの範囲入力範囲を変更する
- 4. Rinsim:CommDeviceの範囲を変更する
- 5. ゲージコントロールの範囲を変更する
- 6. 単一セル範囲を列範囲に変更する
- 7. テーブル範囲のサイズ変更
- 8. noUiSliderスライドの変更範囲
- 9. VBAが負の範囲を正に変更する
- 10. 範囲から図形の色をプログラムで変更する
- 11. セルの値の変更の範囲を変更します。
- 12. 範囲変更時のビューの更新
- 13. 角度範囲変数の変更を監視する方法
- 14. グリッドボックスの可変範囲を変更するCSS
- 15. 範囲をウィンドウからアングルに変更
- 16. jquery DateTimePickerで年の範囲を変更するには?
- 17. 範囲外の変数を変更するとJQuery UIがソート可能でないのはなぜですか?
- 18. 範囲変数の更新サービス変数の変更
- 19. Python forループの範囲を変更するコードを変更する
- 20. ブートストラップ範囲スライダ変更イベント
- 21. ページを更新すると、なぜphpのセッションが変わるのですか?
- 22. RecyclerViewレイアウトマネージャー行と列の範囲を変更する
- 23. バブルプロットで使用されるサイズの範囲を変更する
- 24. 特定の範囲のスクロールでdivのクラスを変更する
- 25. UISliderの値が範囲外の値に変更される
- 26. [オブジェクトオブジェクト]エラーが発生する範囲スライダの変更
- 27. ラインスタイル/ウェイトを変更せずに範囲の境界線を変更する
- 28. Excelで範囲内の複数の式を変更する
- 29. 静的な日付範囲を動的な日付範囲に変更する
- 30. ボトム境界の色を特定の範囲に変更する
他のページに変更した場合、最初のページの範囲が変更されますか? –
最初のページのスコープはどういう意味ですか?それはありません。その状態に保たれる – Sajeetharan