嗨,我有一个离子登录和注销问题。

每次注销后,我仍然可以单击“后退”按钮,它将使我回到上一页。我是否可以知道注销时如何清除或删除会话,使用户无法从登录名返回上一页?

var default_stat;
$scope.logout = function(){
    $ionicLoading.show({template:'Logging out....'});
    $localstorage.set('loggin_state', '');
    $state.go('login');
    $ionicLoading.hide();
    $ionicHistory.clearHistory();
    $ionicHistory.clearCache();
};


登录期间,我使用localstorage指示用户已登录

$localstorage.set('loggin_state', '1');

最佳答案

我会做这样的事情:

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

};


我发现添加一些延迟允许$ionicHistory清除缓存。

$ionicHistory.nextViewOptions({ disableBack: true, historyRoot: true });



disableBack:下一个视图应该忘记其后视图,并将其设置为null。
historyRoot:下一个视图应成为其历史记录堆栈中的根视图。

07-24 09:29