【问题标题】:How to get the UID of the current Firebase user?如何获取当前 Firebase 用户的 UID?
【发布时间】:2017-06-09 18:16:20
【问题描述】:

如何控制 uid。我的 .ts 文件是这样的:

import { AngularFireAuth } from 'angularfire2/auth';
import * as firebase from 'firebase/app';
import { Router } from "@angular/router";


@Component({
  selector: 'app-candidate-login',
  templateUrl: './candidate-login.component.html',
  styleUrls: ['./candidate-login.component.css']
})
export class CandidateLoginComponent implements OnInit {
user: Observable<firebase.User>;


  constructor(
  public afAuth: AngularFireAuth,
  private router: Router) {

    this.user = afAuth.authState;
   console.log(this.user.uid);

   }

  ngOnInit() {

  }
  login(){
   this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider());
    this.router.navigate(['/registration']);
  }
}

但它显示如下错误:

C:/MyApp/Join/job-site/src/app/candidate-login/candidate-login.component.ts (23,26):“可观察”类型上不存在属性“uid”。

如何解决这个问题?实际上,我想知道当前用户。我想安慰它。

【问题讨论】:

  • 错误说明了问题所在,uid 在 Observable 上不存在,user 是。您需要订阅它才能通过控制台记录 uid :)
  • 试试这个来查看你的对象的详细信息:console.log(this.user);你也许可以看到用户 Observable 的详细信息并找到你正在寻找的数据。

标签: javascript angular firebase firebase-authentication


【解决方案1】:

你必须像这样订阅afAuth.authState

this.afAuth.authState.subscribe(user => {
  this.user = user;
  console.log(this.user.uid);
});

【讨论】:

    猜你喜欢
    • 2020-11-30
    • 2022-11-11
    • 2017-12-18
    • 2021-11-23
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多