2017-09-20 10 views
-1

私は新しいです。ユーザーがブラウザの戻るボタンをクリックして、状態が前の状態。状態がちょうど前の状態になったときにアクションを実行する方法

私はこれを行うために以下のコードを使用しましたが、ブラウザの戻るボタンをクリックしても呼び出されません。 UI-ルーティングのための

$scope.$on('$destroy', function() { 
    console.log("scope.on called "); 
    console.log($scope.viewTest.context.showMore) 
    $scope.viewTest.context.showMore = true; 
    console.log($scope.viewTest.context.showMore); 
}); 

答えて

1

、あなたは

$rootScope.$on("$stateChangeStart", function (event, toState, toParams, fromState, fromParams) 
    { 
     if (toState.name === $rootScope.previousState) 
     { 
      // u can any 1 or all of below 3 statements 
      event.preventDefault(); // to Disable the event 
      //Do whatever you want 

     } 
    }); 
+0

以下のコードを使用することができます私は$スコープの状態は$ rootScopeのない変更したときにアクションを実行します。 – a874

+0

まず、上記のコードで、バックボタンの "アクション"をどこでも "捕まえる"ことができます。また、Angularではコントローラがシングルトンではないので、$スコープ変数を失ってしまいます。戻るときに生成される新しいインスタンスがあります。 ルート変更間に任意の種類の変数を格納する場合は、サービスを作成して変更を行うことができます。 – geo

関連する問題