问题描述:

I am using ngStorage to store data. I made a custom objects called game and stored it. Its stored as a game but when i refresh the browser it comes back as an Object.

var games= $localStorage.games || {};

this.addGame = function(){

var newGame = new game("Game "+games.length);

$localStorage.games = newGame;

}

var game = function(title){

var title=title;

var player1;

var player2;

this.getTitle = function(){

return title;

}

this.setTitle = function(title){

this.title = title;

}

this.getPlayer1 = function(){

return player1;

}

this.setPlayer1 = function(player1){

this.player1 = player1;

}

this.getPlayer2 = function(){

return player2;

}

this.setPlayer1 = function(player1){

this.player2 = player2;

}

}

When a new game is added it's stored as a game in LocalStorage but when I refresh the bowser and tried to fetch games. It returns as an array of Objects not games.

网友答案:

You cannot store objects in localStorage. The hack is that you can store string and parse/unparse them like this.

var game = {
  name: 'Super Metroid',
  text: 'This is an awesome game!!!'
};

window.localStorage['game'] = JSON.stringify(game);

var superMetroid = JSON.parse(window.localStorage['game'] || '{}');
相关阅读:
Top