我是Vue和Firebase的新成员。我使用Firebase查询根据当前用户电子邮件从Firebase数据库中检索某些数据。
这是有效的
source:firebase.database().ref('service').orderByChild('userEmail').equalTo('shakil@gmail.com')
所以在这种情况下,我使用 firebase.auth()。currentUser.email 来使用当前的用户电子邮件
但这不起作用
source:firebase.database().ref('service').orderByChild('userEmail').equalTo(firebase.auth().currentUser.email)
它显示了像这样的错误 - > firebase ___ default.a.auth(...)。currentUser为null
以下是我如何将其用于vuefire
firebase: {
services: {
source: firebase.database().ref('service').orderByChild('userEmail').equalTo('marin@gmail.com'),
readyCallback () {
this.services.forEach(service => {
firebase.storage()
.ref(`service_images/${service.fileName}`)
.getDownloadURL()
.then(img => {
this.$set(this.serviceImages, service['.key'], img)
})
})
}
}
},
答案 0 :(得分:0)
在firebase初始化期间firebase.auth().currentUser
为空。
你应该使用
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});