首页 文章

刷新/重新加载Angular 2 Web App

提问于
浏览
0

我是角色2的新手 . 我目前正在开发一个包含大量路线和子路线的大型网络应用 . 使用Web API . 我的应用程序中的主要问题是当用户登录时创建一个JWT令牌并将其保存在sessionStorage上并且保护我可以保持用户会话 . 但是如果用户填写了一个巨大的表单并且在刷新页面时获得了一个包含大量信息的大页面,那么我会错过一些东西,我设法保存在服务中的所有数据都消失了 .

如何处理用户刷新/重新加载页面?不会丢失数据

2 回答

  • 0

    更新

    我只是做一个网络存储 . 服务将处理所有保存/删除数据,以及从会话存储和本地存储中获取必要的对象 . 我还在努力,但这是个主意 .

    import { decode } from 'jwt-decode';
    import { Injectable } from '@angular/core';
    
    @Injectable()
    export class WebStorageService {
      constructor() {}
    
      public setData(key: string, data: any) {
        let encodedData = window.btoa(JSON.stringify(data));
        localStorage.setItem(key, encodedData);
      }
      public getData(key: string) {
        let encodedString = localStorage.getItem(key);
        return JSON.parse(window.atob(encodedString));
      }
    
      public removeData(key: string) {
        localStorage.removeItem(key);
      }
    }
    
  • 0

    您可以尝试使用Angular LocalStorage . 这是一个可能对您有帮助的链接:Angular 2 LocalStorage

相关问题