刷新/重新加载Angular 2 Web App

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷新/重新加载Angular 2 Web App相关的知识,希望对你有一定的参考价值。

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

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

答案

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

另一答案

更新

我只是做一个网络存储。将处理所有保存/删除数据的服务+来自会话存储和本地存储的必要对象。我还在努力,但这是个主意。

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);
  }
}

以上是关于刷新/重新加载Angular 2 Web App的主要内容,如果未能解决你的问题,请参考以下文章

Angular不需要的重新加载页面

nginx - django 2 -angular 6 / 角度路由在重新加载页面后得到 404

如何重新加载/刷新 app.config?

Angular 2.0 路由器无法重新加载浏览器

Angular App 无需重新编译即可动态加载插件

Angular 2 根据用户输入重新加载当前组件