[英]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.