我无法使用angularfireobject从Firebase读取数据。
这是我的代码:
export class UserService {
user: Observable<any>;
constructor(private db: AngularFireDatabase) {
}
public getUser($userId: string){
this.db.object('users/'+$userId).valueChanges();
}
}
并在user.component.html
中<h1>Welcome {{ (userService.user | async)?.name }}!</h1>
userService.user | json给出null。
感谢任何帮助。
答案 0 :(得分:0)
您没有在我看到的任何地方设置.user
Observable,并且永远不会调用.getUser()
。
如果您打算显示当前用户的信息,您还必须提供身份验证:
export class UserService {
user: Observable<any>;
constructor(private db: AngularFireDatabase, private auth: AngularFireAuth) {
this.user = auth.user.pipe(switchMap(user =>
user ? db.object(`users/${user.uid}`).valueChanges() : of(null)
));
}
}