2016-11-02 10 views
0

私はしたい双方向のURLにバインドします。次のコードでは、私はそれを設定していますが、URLが新しいと古い値を変更している最初のページの読み込み。ページがurl設定する双方向URLを使用してURLを

$rootScope.siteUrl = $location.path(); 
$rootScope.$on('$routeChangeSuccess', function() { 
$rootScope.$watch('siteUrl', function (newVal, oldVal) { 
     console.log("newVal", newVal); 
     console.log("oldVal", oldVal); 

     if (newVal.indexOf('xyz_form') > 0) { 
     $rootScope.xyz_form = false; 
     }else{ 
      $rootScope.xyz_form = true; 
     } 
    }); 
}); 

答えて

0

xyz_form値を持つときにページにも再初期化され$rootScopeをリロードした場合、問題が$rootScope

である$rootScope.xyz_form = false;を設定する方法を提案してください。同時にあなたのControllerも再初期化します。だから$rootScopeの変更watchできません。

ローカルストレージまたはセッションストレージのを使用することもできます。 AngulrJの依存関係は$localStorage$sessionStorageです。私はあなたがより多くの情報Read here

+0

正しいの両方$localStoragesessionStorage

を使用することができますが、$のlocalStorageにはないngStorageをインストールすることにより、それらを

を削除するまで

コンテンツのローカルストレージには永遠に残ります –

+0

@JAckJakhmola "$ localStorageは私にとってはうまくいかない"と説明できますか? –

+0

var siteUrl = $ location.path(); if(siteUrl.indexOf( 'xyz_form')> 0){ $ localStorage.xyz_page = false; } else { $ localStorage.xyz_page = true; } –

関連する問題