有什么方法可以在不使用LocalStorage或SessionStorage的情况下在angular 5应用程序中维护会话?

时间:2019-04-30 12:40:02

标签: angular angular5

我要使用一些在整个应用程序登录后获取的值。但是我不想将它们存储在浏览器存储中。那么有什么办法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您使用providedIn: 'root'创建服务,那么它将在您的应用程序中处于单一状态。然后,您可以将状态存储在此服务中:

@Injectable({ providedIn: 'root' })
export class MyService {
  private userSettings: any;

  public setUserSettings(userSettings: any) {
    this.userSettings = userSettings;
  }

  public getUserSettings() {
    return this.userSettings;
  }
}

当然,如果刷新了浏览器选项卡,则应用程序将完全重新加载,并且任何状态都将丢失-如果您需要在这样的会话之间保持状态,则应该使用本地存储。