我正在尝试创建一个全局用户服务,其中任何组件都可以通过实时更改在 Firestore 中检索当前用户的文档。
这是我的全局用户服务方法:
getUser() {
let userDoc: AngularFirestoreDocument<User>;
return this.afAuth.auth.onAuthStateChanged(user => {
if (user) {
return this.afs.doc('users/' + this.afAuth.auth.currentUser.uid).valueChanges();
}
});
}
这是我导入用户服务的组件:
ngOnInit() {
let user = this.userService.getUser();
}
我知道我需要订阅valueChanges
...但是从我的组件中,我遇到了错误。
答案 0 :(得分:0)
尝试这样:
服务:
getUser() {
let userDoc: AngularFirestoreDocument<User>;
this.afAuth.auth.onAuthStateChanged(user => {
if (user) {
return this.afs.doc('users/' + this.afAuth.auth.currentUser.uid).get();
}
});
}
组件:
ngOnInit() {
this.userService.getUser().subscribe(
res => {
let user = res.data()
}
);
}