首页 > 解决方案 > 在角度 login.component.ts 中将本地存储数据作为 [object Object]

问题描述

    import { Component, OnInit } from '@angular/core';
    import { FirebaseService } from "../services/firebase.service";
    import { User } from '../interfaces/user';
    import { Observable } from 'rxjs';
    import { AngularFireDatabase } from 'angularfire2/database';
    import * as firebase from 'firebase/app';
    import { ActivatedRoute, Router } from "@angular/router";
    import { FormControl, Validators } from '@angular/forms';
    import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
    import { ToastrModule } from 'ngx-toastr';
    import { ToastrService } from 'ngx-toastr';
    import { LocalStorage } from '@ngx-pwa/local-storage';
    @Component({
      selector: 'app-login',
      templateUrl: './login.component.html',
      styleUrls: ['./login.component.css']
    })
    export class LoginComponent implements OnInit {


      sag: any;
      constructor(private toastr: ToastrService, private firebaseService: FirebaseService, private router: Router, private route: ActivatedRoute, private localStorage: LocalStorage) {
        this.sag = localStorage.getItem('user').subscribe(() => { });
        console.log('constructor :'+this.sag);
      }
 ngOnInit() {}
login() {
  var myItem = localStorage.getItem("user");
  console.log('  cookies:' + myItem);
      }
}

我将本地存储中的数据作为键“用户”,将值作为“HelloUser”。

在构造函数控制台中,它打印为 [object Object] ,但在 login() 中,当通过单击按钮调用时,它正在打印正确的值,但我想从构造函数中获取值。

标签: constructorlocal-storageangular7

解决方案


知道有一个sag声明为 public 的对象变量,您可以按照以下方式执行此操作:

this.sag = JSON.parse(localstorage.getItem('user'));

参考:https ://gist.github.com/jbail/4364947


推荐阅读