AngularJS重新加载页面功能和自动注销相互冲突

时间:2015-07-14 06:54:31

标签: javascript angularjs angularjs-scope angular-ui-router reload

我正在编写一个使用AngularJSui-router.的应用程序。我有一个通过重新加载页面来刷新页面的按钮,以及在窗口或选项卡关闭时自动将用户注销的功能。现在这两个函数都很棒(并且使用传统的javascript来简化)。见下文:

<script>
      // Refreshes by reloading page
      function refresh() {
          location.reload();
      }

      // Automatically logs users out when browser or tab is closed
      window.onunload = function(){
          localStorage.clear();
      }
</script>

然而,问题是当点击重新加载按钮时它还会将当前用户记录下来,这不是我想要的。我只希望在窗口关闭时注销用户。无论如何这可以做到吗?是否会在我的控制器中重新加载路径来解决问题?

1 个答案:

答案 0 :(得分:-1)

不是一个好的解决方案,但您可以使用可在重新加载页面时设置的全局标记

var refh = false;
function refresh(){
  ref = true;
  location.reload()
}

window.unonload = function(){
  if(!refh)
   localStorage.clear();
}