localstorage有时无法加载Ionic App中的值

时间:2016-03-28 06:32:55

标签: cordova ionic-framework local-storage hybrid-mobile-app ngcordova

您好我在使用Ionic框架开发的混合应用程序中使用localStorage。一切正常,但最近我们注意到,如果我将我的应用程序保留在后台更长的时间,例如5-6小时,当我重新打开应用程序时,它会在localStorage中丢失其值。但是,如果我强行退出我的应用程序并重新打开它,它工作正常,然后它获取localStorage中的所有值...对我来说很奇怪,因为这只发生在IOS,Android工作绝对正常...

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);
                }
            }
        }

在OnPlatformReady事件中调用initState()...

userService.token()。令牌从localStorage获取令牌密钥...

1 个答案:

答案 0 :(得分:0)

我认为缓存的问题。使用$ionicView.enter这样的方式来查看你的观点

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

有关$ionicView.enter Refer this QA

的详细信息