2016-09-06 6 views
0

私のhtmlページで、行をクリックすると、別のhtmlページが表示されます。 ng-clickはfuntion showScriptsを呼び出し、この新しいhtmlページで使用しているajax呼び出しを使用して$ scope.Scripts変数を設定します。angularjsウェブページの別のhtmlにリダイレクトコントローラ

$scope.showScripts=function(event,item){ 
    $http.get('/Scripts/'+item).success(
    function(data) { 
     $scope.Scripts = data.responseData; 
    }); 

     if (event.ctrlKey) { 
       window.open("/scripts.html","_blank"); // in new tab 
      } else { 
       window.open('/Scripts.html',"mywindow"); // in new tab 
      } 


    } 

ファイルScripts.htmlは同じコントローラを使用しています。したがって、htmlが読み込まれると、angularjsファイルが再び読み込まれ、$ scope.Scriptsの値はundefinedに戻ります。コントローラーが値を更新しないようにすることはできますか?

+0

これは良い選択ですが、コントローラにクリックされた値を共有する必要があります。私がサービスを使ってそれを行うと、そのサービスはその価値を保持しますか? – matrixguy

答えて

0

あなたはこのロジックを使用する必要があります。

var yourUrl = '/scripts.html'; 
$window.location.href = yourUrl; 

OR:

$window.location.href = '/scripts.html'; 
$window.location.reload(); 
0

を使用すると、異なるビューのために、同じコントローラを使用しているとき、あなたはデータを格納および取得のためのサービスやファクトリメソッドを作成することができます。もう1つの方法は、データを$ rootScopeにも格納できることです。

関連する問題