如何在不破坏localStorage类型的情况下存储和获取对象?

Mar*_*thy 4 local-storage typescript

我正在使用TypeScript进行AngularJS项目。

A personPerson该类的对象。我需要将person对象存储在其中localStorage并使用其类型检索它。

Eli*_*Eli 6

虽然马丁的答案适用于没有方法的类。对于具有方法的类,您可以尝试以下方法:

let personFromStorage = JSON.parse(localStorage.getItem('person')) as Person;

let person = new Person('');
Object.assign(person , personFromStorage);
Run Code Online (Sandbox Code Playgroud)


Mar*_*cka 5

window.localStorage只能存储字符串。您可以使用JSON序列化对象并取回它。

class Person {

    constructor(public name:string) {

    }
}

let person = new Person('Peter');
localStorage.setItem('person', JSON.stringify(person));
let personFromStorage = JSON.parse(localStorage.getItem('person')) as Person;

console.log({
    person: person,
    personFromStorage: personFromStorage
});
Run Code Online (Sandbox Code Playgroud)