当状态以角度进入刚刚前一状态时,如何执行动作

时间:2017-09-20 15:12:54

标签: angularjs

我是angular的新手。当用户点击浏览器的后退按钮并且状态返回到先前状态时,我想执行某个操作。

我使用下面的代码来执行此操作,但是在单击浏览器的后退按钮时不会调用它。

$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 个答案:

答案 0 :(得分:1)

对于ui-routing,您可以使用以下代码

    $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

        }
    });