如何清除离子localStorage的数据? [英] How to clear localstorage data in ionic?

查看:110
本文介绍了如何清除离子localStorage的数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是我的code。

$scope.logout=function(){
    localstorage.set('user_id', "");
    localstorage.set('access-token', "");
    localstorage.set('isUserTraverseColony', 0);
    localstorage.set('isStarted', 0);
    $window.localStorage.clear();
    $window.localStorage.removeItem(access-token);
    $ionicHistory.clearCache();
    $ionicHistory.clearHistory();
 };

我要删除我从localStorage来访问令牌的变量,它做工精细的浏览器当我使用

I want to delete the access-token variable from my localStorage, It working fine for browser when i use

 $window.localStorage.clear();
 $window.localStorage.removeItem(access-token);

但它不工作的我的应用程序。

But its not working for my App.

这是我厂的localStorage

here is my localstorage factory

angular.module('starter.controllers').factory('localstorage', ['$window', '$localStorage','$q', function ($window, $localStorage,$q) {
    return {
        set: function (key, value) {
             var deferred = $q.defer();
            $window.localStorage[key] = value;
                 deferred.resolve(1);
                 return deferred.promise;
        },
        get: function (key, defaultValue) {
            return $window.localStorage[key] || defaultValue;
        },
        setObject: function (key, value) {
            $window.localStorage[key] = JSON.stringify(value);
        },
        getObject: function (key) {
            return JSON.parse($window.localStorage[key] || '{}');
        }
    }

}]);

任何想法?

推荐答案

我也遇到同样的问题,意味着前的时间。我使用了一些全局变量用于本地存储
您code似乎确定。但是你可以更好地优化它

I had also faced same problem mean time ago. I was using some Global variable for Local Storage. Your code seems ok. But you can optimize it better

$scope.logout = function(){
  $window.localStorage.clear();
    $ionicHistory.clearCache();
    $ionicHistory.clearHistory();
 };

您不需要设置

localstorage.set('user_id', "");
localstorage.set('access-token', "");
localstorage.set('isUserTraverseColony', 0);
localstorage.set('isStarted', 0);

因为你清除它们。

because you are clearing them.

这篇关于如何清除离子localStorage的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆