typescript - Kuinka tallentaa ja hakea objekti ilman tyypin tuhoamista localStoragesta?
Työskentelen AngularJS-projektin parissa TypeScriptin kanssa.
Henkilö on Person-luokan objekti. Minun täytyy tallentaa person-objekti localStorageiin ja hakea se sen tyypin kanssa.
Vastaus #1
window.localStorage voi tallentaa vain merkkijonoja. Voit käyttää JSON:ia objektisi sarjoittamiseen ja sen palauttamiseen.
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
});
Vastaus #2
Vaikka Martinin vastaus toimii metodeettomille luokille, metodeja sisältäville luokille voit kokeilla tätä:
let personFromStorage = JSON.parse(localStorage.getItem('person')) as Person;
let person = new Person('');
Object.assign(person , personFromStorage);
