在 Angular 6 中使用 sessionStorage 的最佳方式是什么

Sno*_*owb 1 session-storage angular6

我正在尝试构建 Web 应用程序 Spring Boot 作为后端,并构建 Angular 作为前端,但我面临着一些有关会话和获取所有组件数据的问题。

当用户登录时,我使用 sessionStorage.setItem() 但是当我尝试在我的家中获取用户数据时,我使用 sessionStorage.getItem()。问题是我必须刷新页面才能填充数据。

您能否帮助我了解在不刷新所有页面的情况下填充数据的最佳实践?

Kew*_*ndo 5

我不知道你说的“填充数据而不刷新所有页面”是指什么。

但是,当您将数据存储在 sessionStorage 或 localStorage 中时,只要您通过“router-outlet”导航到组件,就可以获取数据。

您可以使用 ngOnInit() 从 sessionStorage 获取数据,因为每当初始化组件以及刷新特定页面时都会调用它。

您可以使用以下代码获取数据,假设您的密钥是“data”。

    if (sessionStorage.getItem('data')) {
      console.log(JSON.parse(sessionStorage.getItem('data'))); //converts to json object
    } else {
      console.log('key dose not exists');
    }
Run Code Online (Sandbox Code Playgroud)