使用 firebase.User 方法从 firebase angular 项目获取登录用户的用户名时出错
Getting error while using firebase.User method to get username of logged in user from firebase angular project
下面是我的代码行,我在获取当前用户名以在浏览器上显示时出错。
我创建了一个导航栏,它有一个下拉列表,只显示给登录用户。登录也能正常工作,但我无法在下拉菜单中显示当前用户名。我正在使用 google 使用 firebase 的身份验证。
我在下面的行中遇到错误,
user: firebase.User;
错误:
Namespace '"E:/Workspace/Angular/oshop/node_modules/firebase/app/dist/app/index"' has no exported member 'User'".
请参阅下面的代码。
bs-navbar.component.ts
import { AngularFireAuth } from '@angular/fire/compat/auth';
import { AngularFireModule } from '@angular/fire/compat';
import { Component, OnInit } from '@angular/core';
import * as firebase from 'firebase/app';
import { getAuth, onAuthStateChanged } from "firebase/auth";
//const auth = getAuth();
//const user = auth.currentUser;
@Component({
selector: 'bs-navbar',
templateUrl: './bs-navbar.component.html',
styleUrls: ['./bs-navbar.component.css']
})
export class BsNavbarComponent {
user: firebase.User;
constructor(private afAuth: AngularFireAuth) {
afAuth.authState.subscribe(user => this.user = user)
}
logout(){
this.afAuth.signOut().then(() => {
window.alert('Logged out');
})
}
}
您可以从 Firebase Auth SDK 导入 User
,如下所示:
// Remove this import
// import * as firebase from 'firebase/app';
import { User, getAuth, onAuthStateChanged } from "firebase/auth";
export class BsNavbarComponent {
user: User;
}
下面是我的代码行,我在获取当前用户名以在浏览器上显示时出错。
我创建了一个导航栏,它有一个下拉列表,只显示给登录用户。登录也能正常工作,但我无法在下拉菜单中显示当前用户名。我正在使用 google 使用 firebase 的身份验证。
我在下面的行中遇到错误,
user: firebase.User;
错误:
Namespace '"E:/Workspace/Angular/oshop/node_modules/firebase/app/dist/app/index"' has no exported member 'User'".
请参阅下面的代码。
bs-navbar.component.ts
import { AngularFireAuth } from '@angular/fire/compat/auth';
import { AngularFireModule } from '@angular/fire/compat';
import { Component, OnInit } from '@angular/core';
import * as firebase from 'firebase/app';
import { getAuth, onAuthStateChanged } from "firebase/auth";
//const auth = getAuth();
//const user = auth.currentUser;
@Component({
selector: 'bs-navbar',
templateUrl: './bs-navbar.component.html',
styleUrls: ['./bs-navbar.component.css']
})
export class BsNavbarComponent {
user: firebase.User;
constructor(private afAuth: AngularFireAuth) {
afAuth.authState.subscribe(user => this.user = user)
}
logout(){
this.afAuth.signOut().then(() => {
window.alert('Logged out');
})
}
}
您可以从 Firebase Auth SDK 导入 User
,如下所示:
// Remove this import
// import * as firebase from 'firebase/app';
import { User, getAuth, onAuthStateChanged } from "firebase/auth";
export class BsNavbarComponent {
user: User;
}