can't logout from ionic

后端 未结 3 1770
梦谈多话
梦谈多话 2021-01-06 03:03

Hi I have an issue with ionic login and logout.

Each time after logout, i can still click the back button and it will bring me back to my previous page. may i know h

相关标签:
3条回答
  • 2021-01-06 03:09

    This is because ionic is caching the view, So that will stop ionic going through the controller.

    So you could bust the cache as follows

    <ion-view cache-view="false" view-title="My Title!">
      ...
    </ion-view> 
    

    read here for more

    0 讨论(0)
  • 2021-01-06 03:11

    I would do something like this:

    $scope.logout = function(){
        $ionicLoading.show({template:'Logging out....'});
        $localstorage.set('loggin_state', '');
    
        $timeout(function () {
            $ionicLoading.hide();
            $ionicHistory.clearCache();
            $ionicHistory.clearHistory();
            $ionicHistory.nextViewOptions({ disableBack: true, historyRoot: true });
            $state.go('login');
            }, 30);
    
    };
    

    I've found out that adding a little delay allow $ionicHistory to clear the cache.

    $ionicHistory.nextViewOptions({ disableBack: true, historyRoot: true });
    
    • disableBack: The next view should forget its back view, and set it to null.
    • historyRoot: The next view should become the root view in its history stack.
    0 讨论(0)
  • 2021-01-06 03:34

    $ionicHistory.clearCache() now returns promise so you can ensure cache is cleared. So you can call like this:

    $ionicHistory.clearCache().then(function() {
        //now you can clear history or goto another state if you need
        $ionicHistory.clearHistory();
        $ionicHistory.nextViewOptions({ disableBack: true, historyRoot: true });
        $state.go('login');
    })
    

    There is no need for the above timeout like things.

    credit goes to

    0 讨论(0)
提交回复
热议问题