这是服务
.factory('$localstorage', ['$window', function($window) {
return {
get: function(key, defaultValue) {
return $window.localStorage[key] || defaultValue;
},
getObject: function(key) {
return JSON.parse($window.localStorage[key] || '{}');
}
}
}]);
我做console.log($localstorage.getObject('name'));
它给了我一个错误Unexpected token [
以下是我的键和值如何作为localstorage
{["a","b","c"]}
实际上有什么不对?
答案 0 :(得分:0)
您必须确保使用JSON.stringify
方法正确存储对象。但是,如果您手动保存,请务必使用 valid format 。
//Correct usage to store JSON objects
saveObject: function(key, value){
$window.localStorage[key] = JSON.stringify(value);
},
getObject: function(key) {
var result = {};
try{
result = JSON.parse($window.localStorage[key] || '{}');
}catch(e){
console.log("JSON invalid format", e)
}
return result;
}