存储和获取对象而不破坏localstorage

时间:2015-12-04 08:17:35

标签: typescript localforage

personPerson类的对象, 我需要在person中存储localstorage对象并使用其类型检索它。 请帮忙.. 我正在使用TypeScript处理AngularJS项目。

2 个答案:

答案 0 :(得分:4)

window.localStorage只能store字符串。您可以使用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
});

答案 1 :(得分:1)

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

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

let person = new Person('');
Object.assign(person , personFromStorage);