localstorage有时无法加载离子应用程序中的值
问题描述:
您好我在使用Ionic框架开发的混合应用程序中使用localStorage。一切正常,但最近我们已经注意到,如果我在后台保留我的应用程序的时间较长,例如5-6小时,并且在我重新打开应用程序时,它将丢失localStorage中的值。但是,如果我强制退出我的应用程序并重新打开它,它会正常工作,然后它将获得localStorage中的所有值......对我来说很奇怪,因为这只发生在IOS中,并且Android非常好用......localstorage有时无法加载离子应用程序中的值
CODE:
function initState() {
if (userService.token().token) {
$q.all([
panelService.panelGET(),
userService.userGET(),
authenticationService.sessionGET()
]).then(function (data) {
console.log('InitState: ', data);
if (data[0]) {
checkTouchId();
} else {
next(data);
}
});
} else {
if (localStorageService.get('welcome')) {
window.location.hash = 'signin';
} else {
window.location.hash = 'welcome';
localStorageService.set('welcome', true);
}
}
}
其中INITSTATE()被调用的OnPlatformReady事件......
userService.token()令牌获得从localStorage的令牌密钥...
答
我认为缓存问题。使用$ionicView.enter
像缓存您的意见这样
$scope.$on('$ionicView.enter', function(e) {
//call your initState() function here
});
更多有关$ionicView.enter
Refer this QA
+0
不,它这个视图不是问题,它是localStorage的一个问题,它一旦不加载数据,但重新打开应用程序时,它会加载存储在其中的数据... –
你使用哪种类型的localStorage的?会话存储或其他 –
不,它不是会话存储。它的localStorage ...我的意思是另一个... –
发布您的代码,处理localstorage –