这是我的代码。
$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 中删除访问 token 变量,当我使用它时它对浏览器工作正常
$window.localStorage.clear();
$window.localStorage.removeItem(access-token);
但它不适用于我的应用程序。
这是我的本地存储工厂
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] || '{}');
}
}
}]);
任何想法?
最佳答案
我之前也遇到过同样的问题。我在本地存储中使用了全局变量。
你的代码看起来没问题。但是你可以更好地优化它$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);
因为你正在清理它们。
关于angularjs - 如何清除 ionic 中的本地存储数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31786302/