У меня есть меню, которое появляется на основе входа в систему. Я использую веб-токены json в локальном хранилище для своей аутентификации, я хочу следить за изменениями в localStorage, а затем повторно обновлять свое представление о новой информации.
Как я могу отслеживать изменения в локальном хранилище?
Я установил свой localStorage с этим
localStorage.setItem('jwt', my_token); То, что я хотел бы сделать, это проверить, есть ли у меня токен, если ничего не происходит, но когда происходит изменение, запускается событие. Из того, что я знаю, мне нужно создать сервис, внедрить его туда, куда я хочу, и подписаться на наблюдаемое.
То, что у меня есть, это сервис, я не знаю, как следить за изменениями.
моя служба:
import { Injectable } from 'angular2/core';
@Injectable()
export class LocalStorageService {
private storage: any;
constructor() {
this.storage = localStorage;
}
public retrieve(key: string): any {
var item = this.storage.getItem(key);
if (item && item !== 'undefined') {
return JSON.parse(this.storage.getItem(key));
}
return;
}
public store(key: string, value: any) {
this.storage.setItem(key, JSON.stringify(value));
}
}
localStorage
? Не увидите, чтобы он был импортирован или объявлен где-либо в вашем фрагменте. - person Chrillewoodz   schedule 06.04.2016window.addEventListener('storage', function(e) {}
developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/ - person Raunak Kathuria   schedule 06.04.2016store
вашего сервисаLocalStorageService
? - person Thierry Templier   schedule 06.04.2016