如何处理特定控制器中的浏览器后退按钮事件?

时间:2015-12-07 05:51:39

标签: angularjs

我想处理特定控制器上的浏览器后退按钮事件(不是每次路由更改,仅针对特定控制器),后面不应该改变路由,因为它适用于ng-include更改

1 个答案:

答案 0 :(得分:3)

在控制器的$scope中,侦听$locationChangeStart事件。在事件处理程序中确定是否允许更改,如果不通过调用preventDefault取消位置更改。

$scope.$on('$locationChangeStart', function(event, newUrl, oldUrl) {

  if(!allowed /* inject your logic here */) {
    event.preventDefault();
  }

});