Reset/Unload ChangeState 之后的控制器(调用注销)。 AngularJS

Reset/Unload Controller after ChangeState (logout called) . AngularJS

我正在创建一个用户可以从 FaceBook 或 Twitter 登录的应用程序。登录后,用户被定向到某个主页。在这里,控制器加载并调用我的初始函数,该函数加载特定于该用户的数据。

当用户点击注销时。令牌被清除,用户被定向到登录页面。现在不关闭应用程序,如果用户再次使用 Twitter 登录,用户将被定向到相同的主页。该控制器的范围具有相同的数据。我知道 Ionic 使用缓存来提高性能。但我只想要一种仅在用户单击注销按钮时清除该缓存的方法。

您可以通过调用 $ionicHistory.clearCache() 方法来清除旧缓存来处理此问题。您也可以调用 $ionicHistory.clearHistory() 来重置历史记录,这样它就像一个全新的会话。

http://ionicframework.com/docs/api/service/$ionicHistory/

我找到了解决方案,我们需要在 next/other 摘要周期中清除缓存。通过使用 $timeout 我们可以实现这一点。像这样。

$scope.logout = function(){
      $location.path('/signin')
      $timeout(function () {
          $ionicHistory.clearCache();
          $ionicHistory.clearHistory();
          $log.debug('clearing cache')
      },300)
}

编辑:给一些毫秒的时间来清除函数,它工作得很好。