次のようにグローバル $rootScope 変数を定義しています。
var app = angular.module("demoApp", []);
app.run(function ($rootScope) {
$rootScope.test = "Global";
});
私のhtmlでこれに{{test}}としてアクセスすると動作します。
しかし、コントローラー内でこの変数の値を変更し、 $location.path(....); を使用して場所を変更すると、コントローラーで このグローバル変数の値は変わりません。
function myCtrl($location, $rootScope) {
$rootScope.test = "Changed to Local";
$location.path("New.html");
}
New.html でこの変数 {{test}} にアクセスすると、「Changed to Local」ではなく「Global」と出力されます。しかし、ページを更新すると、問題なく動作します。
この更新の問題を回避する方法を教えてください。「app.run.....」内で解決/約束を使用できますか? もしそうなら、それを行う方法。