【发布时间】:2018-03-05 21:06:27
【问题描述】:
我在 service.TS 文件中创建了一个查询,该文件显示基于登录用户的 UID 的项目“状态”:
getLists(): FirebaseListObservable<any> {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {console.log("blah", firebase.auth().currentUser.uid)
// User is signed in.
}
});
return this.db.list('/foods', {
query: {
orderByChild: 'state/'+firebase.auth().currentUser.uid+'/state',
equalTo: 'listed'
}
});
}
使用此查询,我收到一条错误消息:
未捕获(承诺中):TypeError: null 不是对象(评估 'WEBPACK_IMPORTED_MODULE_2_firebase_app"auth".currentUser.uid')。
使用上面可以看到的{console.log("blah", firebase.auth().currentUser.uid),在日志中正确显示UID,确认用户已登录。
我不确定它是否相关,但页面的主 TS 文件正在调用此查询:
ngOnInit() {
this.moviesSvc.getLists()
.subscribe(lists => {console.log(lists); console.log("UID", firebase.auth().currentUser.uid); this.lists = lists})
}
我需要做什么才能正确地将 UID 传递给查询?
【问题讨论】:
标签: javascript angular typescript firebase-realtime-database firebase-authentication