首页 > 解决方案 > localStorage 没有分配键,而是键具有值数据

问题描述

Angular 6 项目:我无法为 localStorage 设置密钥,也无法检索本地存储数据

谁能帮我这个?

用户服务.service.ts :

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root' 
})
export class UserService {

authToken;
user;

constructor(private http: HttpClient) { }


addUser(a) {
  return this.http.post('/api/register', a);
}

authUser(data) {
  return this.http.post('/api/login', data);
}

storeUserData(token, user) {
 this.authToken = token;
 this.user = user;
 let akey = localStorage.key('token');
 let bkey = localStorage.key('userData');
 localStorage.setItem(akey, this.authToken);
 localStorage.setItem(bkey, JSON.stringify(this.user));

 //OR

 localStorage.setItem('token', token);
 localStorage.setItem('userData', user);

}

}

User.component.ts : 触发服务函数的函数

loginUser(data) {
this.userService.authUser(data).subscribe(data => {
  console.log(data.user);
  if(!data.success) {
    this.authErr = true;
    console.log('Error Occured!');
  } else {
    this.authErr = false;
    this.router.navigate(['/dashboard']);
    this.userService.storeUserData(data.token, data.user);
  }
});
}

这是我在本地存储中的价值

标签: angularangular-local-storage

解决方案


您是否有覆盖本地存储键/值列表的值面板?

这是本地存储列表在我的 PC 上的样子:

在此处输入图像描述

请注意,悬停时可以单击和拖动中间的水平条。

在您发布的屏幕截图中,看起来下半部分面板已被向上拖动,因此它覆盖了上半部分,因此您实际上并没有在看按键。像这样

在此处输入图像描述


推荐阅读