【问题标题】:getting the values as 'null' value in LocalStorage.getItem在 LocalStorage.getItem 中将值作为“空”值获取
【发布时间】:2022-01-18 20:48:15
【问题描述】:

在我的应用程序中,我必须使用来自登录到仪表板组件的电子邮件值(两者都是单独的组件)。

所以在登录组件中,我使用 setItem as' 将值存储在 localstorage 中

login.component.ts

//somecode

if (loggedIn) {
  localStorage.setItem(LocalStorageKey.KEY_CoachGender, this.coachProfile.CoachGender);
  localStorage.setItem(LocalStorageKey.KEY_Email, this.coachProfile.Email);
}

Dashboard.component.ts

let EmailId = localStorage.getItem(LocalStorageKey.KEY_Email);
this.hubConnection.invoke("Register", EmailId)
console.log("Connected")
console.log(EmailId)

但是,当我从本地存储中获取 EmailId 时,我在控制台中获取了 null 值 谁能帮助我如何在不获取空值的情况下获取值

【问题讨论】:

  • 在阅读之前先查看本地存储是否存储了电子邮件 ID...将 console.log(EmailId); 向上移动 2 行...
  • loggedIn === true?检查它是否已在您的代码中设置。请在setItemgetItem 之前添加debugger,打开开发工具并调试您的代码。
  • 谢谢@Nalin Ranjan,我已经移动了控制台并进行了测试,即使它显示的是空值。你能帮我如何获取价值(电子邮件)而不是这种本地存储方法,那么它会对我有所帮助
  • localStorage.setItem(LocalStorageKey.KEY_Email, this.coachProfile.Email); 之后添加console.log('setting email: ', this.coachProfile.Email); 以查看该行是否被执行以及您是否设置了某些内容或为null。

标签: javascript angular typescript local-storage angular-local-storage


【解决方案1】:

我认为问题在于您没有考虑异步性,您在将结果插入 localStorage 之前没有等待日志记录完成的可能性

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 2015-04-11
    • 2016-03-20
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    相关资源
    最近更新 更多