ログに基づいて表示されるメニューがあります。 認証にローカルストレージにjson Webトークンを使用しています。localStorageへの変更を監視し、新しい情報を表示し直す必要があります。ローカルストレージの変更を角2で見る
localstorageの変更を監視するにはどうすればよいですか?
私はこの
localStorage.setItem( 'JWT'、my_token)と私のlocalStorageを設定します。 私がしたいことは、何も起こらない場合、トークンを持っているかどうかをチェックすることですが、変更が発生するとイベントが発生します。私が知っていることから、私はサービスを作って、私が望む場所にそれを注入し、観察可能なものに私を拘束します。
私が持っているサービスは、変更の監視方法がわかりません。
私のサービスは次のとおりです。
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」とは何か?それがインポートされているか、スニペット内のどこにでも宣言されているのを見ないでください。 – Chrillewoodz
上位の抽象レイヤーで作業する必要があります。トークンを初めて設定する場所。 'EventEmitterを使ってイベントを発生させるべきです。他のコンポーネントは、それにサブスクライブし、それに応じて反応します – Chandermani
それは、ローカルストレージで動作するjavascriptオブジェクトです:http://www.w3schools.com/html/html5_webstorage.asp –