0

您好我在使用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的令牌密钥...

+0

你使用哪种类型的localStorage的?会话存储或其他 –

+0

不,它不是会话存储。它的localStorage ...我的意思是另一个... –

+0

发布您的代码,处理localstorage –

回答

0

我认为缓存问题。使用$ionicView.enter像缓存您的意见这样

$scope.$on('$ionicView.enter', function(e) { 
    //call your initState() function here 
}); 

更多有关$ionicView.enterRefer this QA

+0

不,它这个视图不是问题,它是localStorage的一个问题,它一旦不加载数据,但重新打开应用程序时,它会加载存储在其中的数据... –

相关问题