角度9:LocalStorage未定义

我们正在将角度9用于一个小型学校项目。 我们想使用本地存储来存储一些用户数据,但是在执行时,会出现“本地存储未定义”错误。

import {Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { AuthService, FacebookLoginProvider, SocialUser} from 'angularx-social-login';
import { UserService } from '../services/user.service';
import { User } from '../models/user.model';

@Component({
selector: 'app-connexion',
templateUrl: './connexion.component.html',
styleUrls: ['./connexion.component.scss']
})

export class ConnexionComponent implements OnInit {

constructor(private authService: AuthService, private userService: UserService, private router: 
     Router) { }

ngOnInit() { }

signInWithFB(): void {
   this.authService.signIn(FacebookLoginProvider.PROVIDER_ID).then(user => {
       localStorage.setItem('usersocial', JSON.stringify(user));
       console.log(localStorage.setItem('usersocial', JSON.stringify(user)));
    });
} 

由于遵循了不同的文档,因此我看不到代码中的错误。我们正在Chrome上进行测试,并检查了兼容性。 有没有一种方法可以使用本地存储或其他方法在组件之间交换数据?

评论
  • 换位思考
    换位思考 回复

    I had a similar issue with Angular 4. I am not sure if you're using Angular 4 as well, but try to include "dom" inside the "lib" property of "compilerOptions" in the tsconfig.json file.

    {
      "compileOnSave": false,
      "compilerOptions": {
        ...
        "lib": [
          "es2015",
          "dom"
        ]
      }
    }