【问题标题】:localstorage.setitem not working in angularlocalstorage.setitem 不工作在角度
【发布时间】:2017-10-23 21:27:24
【问题描述】:

下面是我的功能。我可以在 console.log 中看到一个带有 res 的对象:

login2(){
    console.log(this.user_form_value);
    console.log(this.password_form_value);
    this._loginService.login(this.user_form_value, this.password_form_value).subscribe(
      res => console.log(res.user),
      res2 =>localStorage.setItem("getLoggedInUserANG1",JSON.stringify(res2.user))
      )

  }

但是当我尝试在本地存储中存储相同的对象时,它并没有被保存。我是 Angular 新手,但没有错误,我不知道为什么它没有被保存。

保存后,我还想在数组变量中使用getitem 获取相同的内容,并将其保存为console.log。我想了解基础知识的问题以及我到底哪里出错了。

下面是我的console.log截图

【问题讨论】:

  • 您不应该在JSON.stringify(res2.user) 中使用res.user,因为在设置本地存储之前未定义 res2
  • 设置后使用getItem获取数据了吗?我曾经遇到过同样的问题。本地存储中的数据没有立即得到反映。本地存储设置好数据后,关闭开发者工具再重新打开。

标签: javascript angularjs json local-storage


【解决方案1】:

res2 未定义。我相信你需要看看JavaScript Arrow Funcions docs

试试看:

login2() {
    console.log(this.user_form_value);
    console.log(this.password_form_value);
    this._loginService.login(this.user_form_value, this.password_form_value).subscribe(
        res => {
            console.log(res.user);
            localStorage.setItem("getLoggedInUserANG1",JSON.stringify(res.user));
        }
    )
}

【讨论】:

  • 工作但我哪里出错了?以及如何在数组变量中获得相同的值并将其打印到控制台日志,我正在尝试像这样从存储的对象中获取用户名但无法this.loggeduser_array = JSON.parse(localStorage.getItem("getLoggedInUserANG1")); console.log(this.loggeduser_array.username);,请指导
  • subscribe 接收一个函数作为参数。 res 是您的 subscribe 的参数。使用箭头函数时,如果函数只有一个语句,则可以省略 {}。这不是你的原因。您执行console.loglocalStorage.setItem 之后。为了解决这个问题,我添加了{} 来界定函数的范围。您能否详细解释一下“我如何在数组变量中获得相同的值并将其打印到控制台日志” 是什么意思?或者(最好)提出一个关于它的新问题?
  • 在我正在获取的对象中,它有一个参数用户名,我想获取它,我正在尝试这样 - this.loggeduser_array = JSON.parse(localStorage.getItem("getLoggedInUserANG1")); console.log(this.loggeduser_array.username); 但无法捕捉它,你可以看到这个截图 - @ 987654322@
  • 对不起,我真的不明白你在尝试什么...... :(console.log(this.loggeduser_array.username); 的输出是什么?你收到错误消息了吗?
  • yes error Property 'username' does not exist on type 'any[]' ,我想获取用户名,请查看 Dropbox 链接图片dropbox.com/s/6odgf7mmlmdn93e/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
相关资源
最近更新 更多