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)
}
编辑:给一些毫秒的时间来清除函数,它工作得很好。
我正在创建一个用户可以从 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)
}
编辑:给一些毫秒的时间来清除函数,它工作得很好。