[英]How to save an object with objects in local storage
我有一班Videoclub,主要的貢獻是(該班已經有吸氣劑和吸氣劑):
var nombre = nom;
var clientes = new Array();
var productos = new Array();
我正在嘗試創建Videoclub對象的數組
let videoclubs = new Array();
let videoclub = new Videoclub("videoshop"); // videoshop is the atribute nombre
videoclubs.push(videoclub);
我試圖將陣列保存在本地存儲中
localStorage.setItem(nombreEnStorage, JSON.stringify(videoclubs));
當我從本地存儲提貨時
function cargar(nombreEnStorage) {
let texto = localStorage.getItem(nombreEnStorage);
return JSON.parse(texto);
}
我無法使用videoclub的任何方法,甚至不能使用getter和setter。
控制台說:
未捕獲的TypeError:videoclubs [0] .getNombre不是函數
你有一個工作的例子
let persons = new Array();
let obj1 = {name: "John Doe", age: 30, car: {color: "red", model: "Honda"}};
persons.push(obj1);
localStorage.setItem("persons", JSON.stringify(persons));
function cargar(nombreEnStorage) {
let texto = localStorage.getItem(nombreEnStorage);
return JSON.parse(texto);
}
cargar("persons");
let personsFromLocalStorage = cargar("persons");
console.log(personsFromLocalStorage);
如果要再次轉換回Object類以訪問函數,請執行以下操作:
Object.cast = function cast(rawObj, constructor)
{
var obj = new constructor();
for(var i in rawObj)
obj[i] = rawObj[i];
return obj;
}
var fooJSON = Object.cast(persons, Object)[0];
console.log(fooJSON);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.