无法从 Firebase 获取对象值
Can't get object values from Firebase
在 Angular 5 + Firebase (AngularFire) 项目中我有服务 Current
,我从 Firebase RDB 获取当前用户数据:
export class CurrentService {
public current;
constructor(
private authFb: AngularFireAuth,
private db: AngularFireDatabase
) {
this.isLoggedIn().pipe(
tap(user => {
if (user) {
this.current = this.db.object(`users/${user.uid}`)
.valueChanges()
} else {
this.current = null;
console.log("no")
}
})
)
.subscribe()
}
isLoggedIn() {
return this.authFb.authState.pipe(first())
}
}
在视图中我想绑定 current
值:
{{ currService.current?.username }}
但它 return null
。奇怪的是,当我绑定 {{ (currService.current | async) | json }}
时,它的 return 完整对象的字段和值采用 json 格式。我做错了什么?
您还必须使用 async
管道:
{{ (currService.current | async)?.username }}
在 Angular 5 + Firebase (AngularFire) 项目中我有服务 Current
,我从 Firebase RDB 获取当前用户数据:
export class CurrentService {
public current;
constructor(
private authFb: AngularFireAuth,
private db: AngularFireDatabase
) {
this.isLoggedIn().pipe(
tap(user => {
if (user) {
this.current = this.db.object(`users/${user.uid}`)
.valueChanges()
} else {
this.current = null;
console.log("no")
}
})
)
.subscribe()
}
isLoggedIn() {
return this.authFb.authState.pipe(first())
}
}
在视图中我想绑定 current
值:
{{ currService.current?.username }}
但它 return null
。奇怪的是,当我绑定 {{ (currService.current | async) | json }}
时,它的 return 完整对象的字段和值采用 json 格式。我做错了什么?
您还必须使用 async
管道:
{{ (currService.current | async)?.username }}