如何在angularjs中单击后退按钮时停止页面刷新

时间:2016-03-01 07:29:43

标签: javascript angularjs

HTML:

<button type="button" class="btn btn-success btn-sm" ng-click="goBack($event);"> 
   Back
</button>

型号:

$scope.goBack = function ($event) {
   window.history.back();
   $event.preventDefault();
   $event.stopPropagation();
}

2 个答案:

答案 0 :(得分:1)

ui-router一旦转换就不会跟踪先前的状态,但是当状态改变时,$ rootScope上的事件$ stateChangeSuccess会被广播。

你应该能够从该事件中捕获先前的状态(来自你要离开的状态)

$rootScope.$on('$stateChangeSuccess', function (event, toState,
   toParams, from, fromParams) {
       $rootScope.previousState = from.name;
       $rootScope.currentState = to.name;
}); 

答案 1 :(得分:-1)

Angularjs应用程序是单页面应用程序,因此不应该刷新页面。虽然我认为存在的网址中存在“#”,所以你可以覆盖window.location.onhashchange事件。