constructor - 在角度 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() 中,当通过单击按钮调用时,它正在打印正确的值,但我想从构造函数中获取值。
解决方案
知道有一个sag
声明为 public 的对象变量,您可以按照以下方式执行此操作:
this.sag = JSON.parse(localstorage.getItem('user'));
推荐阅读
- actionscript-3 - 如何阻止玩家在墙上行走
- java - 正则表达式在两个取消标记之间获取单词
- azure - Azure Active Directory 是否支持将单个用户绑定到多个配置文件,每个配置文件都属于自己的组?
- python - 版本升级 1.0.0 后散景数据表选择事件不起作用
- docker - 在 AWS Fargate 容器中存储数据库连接字符串
- java - useDelimiter() 中的重复值
- c - 为什么 SHELL_Main() 在 FreeRTOS 的 xTaskCreate 中不起作用?
- javascript - vue-good-table 没有样式
- android - androidx renderscript 崩溃“加载 RS jni 库时出错:java.lang.UnsatisfiedLinkError: JNI_ERR 从 JNI_OnLoad 返回”
- javascript - react-native 中的 loadingIndicatorSource 和 defaultSource 道具有什么区别?