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的一個問題,它一旦不加載數據,但重新打開應用程序時,它會加載存儲在其中的數據... –

相關問題