как сохранить и получить данные из локального хранилища Angular2?
я смог сохранить токен auth в браузере localstorage
, но я не смог получить его как строку. Я не могу найти примеров, как это сделать.
1 ответов
вы можете написать себе сервис для инкапсуляции сериализации и десериализации:
export class StorageService {
write(key: string, value: any) {
if (value) {
value = JSON.stringify(value);
}
localStorage.setItem(key, value);
}
read<T>(key: string): T {
let value: string = localStorage.getItem(key);
if (value && value != "undefined" && value != "null") {
return <T>JSON.parse(value);
}
return null;
}
}
добавить его к поставщикам либо в bootstrap
звоните:
bootstrap(App, [ ..., StorageService]);
или в корневой компонент:
@Component({
// ...
providers: [ ..., StorageService]
})
export class App {
// ...
}
затем в компоненте, где вам это нужно, просто введите его в конструктор:
export class SomeComponent {
private someToken: string;
constructor(private storageService: StorageService) {
someToken = this.storageService.read<string>('my-token');
}
// ...
}