如何在angularjs中清除会话存储?

时间:2017-03-22 12:29:48

标签: angularjs session

我使用$ sessionStorage在登录后存储用户信息,在注销后的所有操作之后我需要清除会话并清除缓存。

我可以在$ session中设置用户信息,但在注销时无法清除会话。这是我的代码

        if(data!=null && data.accessible == true){

            $sessionStorage.user = JSON.stringify(data); //Storing user info in session          
            $sessionStorage.loggedIn = true;
            $rootScope.loggedIn = true;      
            $rootScope.loggedInuserId = userName;

            $rootScope.menuType=data.defaultMenuType;
            $scope.operational=data.operational;
            $scope.lifeCycle=data.lifeCycle;
            $scope.qbot=data.qbot;
            $scope.admin=data.admin;

            if($scope.admin){
                   $state.go('admin');
                   $scope.menubar = false;
               }
            else if($scope.operational){
               $state.go('dashboard');
               $scope.var1=true;
           }else if ($scope.lifeCycle){
               $state.go('lifecycle');
               $scope.menubar = false;
           }else if ($scope.qbot){
               $scope.menubar = false;
                $state.go('qbot')
           } 

        }else if(data!=null && data.accessible == false){
            $rootScope.registereduser = true;
            $rootScope.loggedIn = false;

        }

现在我想在退出时清除会话。这是我的代码

$scope.logout=function(){
    $sessionStorage.clear();
    $rootScope.loggedIn = false;
    $rootScope.registereduser = false;
    $rootScope.registration = false;

}

我使用了$ sessionStorage.clear(),$ sessionStorage.remove()..但是不能。任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

如果需要,您可以清除存储在sessionStorage中的所有数据。

为了在sessionStorage中清除应用程序存储的所有内容,您应该使用以下内容:

$sessionStorage.empty();

请参阅链接http://ghost.scriptwerx.io/angularjs-sessionstorage/

答案 1 :(得分:1)

清除sessionStorage使用delete $sessionStorage

答案 2 :(得分:1)

也试试这个

$sessionStorage.empty();