Мне нужно, чтобы идентификатор пользователя вошел в мое веб-приложение, это мой auth service.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
, но что ядействительно нужно использовать этот идентификатор пользователя для получения связанного документа.
это мой главный компонент .ts
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
результат.Я хотел бы сохранить эту user.uid
из службы аутентификации в переменную userId
в главном компоненте.
Я предполагаю, что проблема в том, что основной компонент загружается до службы аутентификации, поэтому я могуuser ID
Можете ли вы, ребята, сказать мне трюк?Thankyou