我有一个类Videoclub,主要属性是(该类已经有getter和setter):
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);
}
我无法访问任何视频俱乐部的方法,甚至不能访问吸毒者和制定者。
控制台说:
未捕获的TypeError:videoclubs [0] .getNombre不是函数
答案 0 :(得分:0)
你这里有一个工作实例
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);