Angularjs NGS存储';删除浏览器数据后,s$localStorage在angular中仍可用
我正在使用Angularjs NGS存储';删除浏览器数据后,s$localStorage在angular中仍可用,angularjs,angular-ui-router,local-storage,ng-storage,Angularjs,Angular Ui Router,Local Storage,Ng Storage,我正在使用ngStorage将数据存储在本地存储器中。我面临着一个奇怪的问题,当我从浏览器中删除localstorage时,我网站的用户在url更改时不会注销。 下面的代码用于检查本地存储是否存在,然后执行适当的路由: $rootScope.$on('$locationChangeStart', function (event, next, current) { //it always by passes this if (!$loca
ngStorage
将数据存储在本地存储器中。我面临着一个奇怪的问题,当我从浏览器中删除localstorage时,我网站的用户在url更改时不会注销。下面的代码用于检查本地存储是否存在,然后执行适当的路由:
$rootScope.$on('$locationChangeStart', function (event, next, current) {
//it always by passes this
if (!$localStorage.currentUser) {
$location.path('/login');
}
});
只有当我刷新页面时,它才会自动路由到
登录
页面,否则它将继续在网站中的任何路由上运行,而不具有localstorage值
为什么会这样?请帮帮我试试这个
//Checks if currentUser property still exists
if (!$localStorage.hasOwnProperty("currentUser")) {
$location.path('/login');
}
如何删除$localStorage.currentUse?我直接从浏览器的localStorage部分删除它。请在删除的地方共享您的代码it@ShashankVivek,我将从浏览器中手动删除它,然后执行路由。没有代码,只是检查了一下。是的,即使手动删除localstorage值,它仍然存在。您是如何设置您的
currentUser
?通过执行此操作->$localStorage.currentUser=“test”
?是$localStorage.currentUser={username:username,token:response.data.id_token};你确定?我试过了,当直接在浏览器中删除它时,它得到了未定义的。是的,先生,我确信。我已经检查了很多次,只是为了确定,您是否在删除值后刷新页面。?因为刷新页面会得到所需的结果,即未定义,因此会重定向到/login