检索localstorage并用于ng-repeat

时间:2015-06-27 13:35:09

标签: javascript angularjs

这是服务

.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"]}

实际上有什么不对?

1 个答案:

答案 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;
}