0
ユーザーが認証すると、JWTトークンとIDがブラウザのsessionStorage
オブジェクトに保存されるng4アプリケーションがあります。私の認証モジュール/サービスでアングル4とアプリケーションの初期化時のセッションストアのロード
、私はコンストラクタ(アイデンティティオブジェクトは、実際には、すでにセッションストレージに保存されている)で、次のしている:私は、ブラウザを更新すると
this.identity = new Identity();
let identity = sessionStorage.getItem('myIdentity');
if (identity != null) {
this.setAuthenticated(identity);
}
、私は私は(例えば、セッション・ストレージ・オブジェクトがまだブラウザによって初期化されていない)であるなぜを知っ
NodeInvocationException: sessionStorage is not defined
ReferenceError: sessionStorage is not defined
を取得します。
アプリの読み込み時にsessionStorage
オブジェクトをチェック(ロード)するためのベストプラクティスは何ですか?
これは正しくありません。 SessionStorageは、ウィンドウが開いたままである限り(他のウィンドウでは使用できませんが、それでも問題ありません)、ページの更新を繰り返し続けます。これを確認するには、角度エラーが発生しても、Chromeのセッションストアでそのオブジェクトを確認できます。 – a11smiles
私はそれを知っていますが、それは私が求めているものではありません。ユーザーがページを更新する場合にセッション記憶域を使用したい。 – a11smiles
また、あなたの応答は役に立たない。あなたが気づいたら、私は 'コンストラクタ'に上記のコードがあると言いました。ローカルストレージを使用するようにコードを更新したとしても、 'localStorage is undefined'という角度例外が発生します。 – a11smiles