我需要将用户ID登录到我的Web应用程序中,这是我的身份验证服务。ts:
export class AuthService {
private authState: Observable<firebase.User>;
public currentUser: firebase.User = null;
constructor(
public afAuth: AngularFireAuth,
public firestore: AngularFirestore,
private router: Router) {
this.authState = this.afAuth.authState;
this.authState.subscribe(user => {
if (user) {
this.currentUser = user;
console.log('AUTHSTATE USER', user.uid); //this works
this.router.navigate(['dashboard']);
} else {
console.log('AUTHSTATE USER EMPTY', user);
this.currentUser = null;
}
},
err => {
console.log('Please try again')
});
}
... //STUFF
}
如果有这段代码,我可以登录控制台user id
,但是我真正需要的是使用该用户ID来获取关联的文档。
这是我的主要组成部分。
export class MainComponent {
userId: string = '';
private authState: Observable<firebase.User>;
public currentUser: firebase.User = null;
constructor(
public authService: AuthService,
public firestore: AngularFirestore,
private router: Router) {
}
ngOnInit() {
console.log(this.authService.currentUser) //this log 'null'
}
...//STUFF
}
当我将this.authService.currentUser
登录到控制台时,我得到了null
的结果。
我想将auth服务中的user.uid
存储到userId
变量中,并将其存储到主要组件中。
我想问题是在auth服务之前加载了主要组件,所以我无法获得user ID
你们能告诉我这个窍门吗?谢谢