【发布时间】:2021-01-04 10:40:22
【问题描述】:
当我分配从 firebase 集合中获得的值时,它给了我以下错误。
获取文档时出错:TypeError:无法设置未定义的属性“电子邮件” 在 eval (Profile.vue?5a88:68)
下面是我的代码。
import firebase from 'firebase';
import fb from "@/firebase";
export default {
name: 'Upload',
data(){
return{
bio: '',
name: '',
email: '',
imageData: null,
picture: 'http://ssl.gstatic.com/accounts/ui/avatar_2x.png',
uploadValue: 0
}
},
created() {
this.setUsers();
},
methods:{
setUsers: () => {
var userRef = fb.collection("users").doc(firebase.auth().currentUser.uid);
userRef.get().then(doc => {
this.email = doc.data().email;
}).catch(function(error) {
console.log("Error getting document:", error);
});
},
}
}
为什么会出现这种错误,我该如何解决?
【问题讨论】:
-
问题似乎不是vue,而是js问题。检查这一行
this.email = doc.data().email;。尝试控制台记录doc.data()、doc.data和doc。我已经使用了一段时间的 firebase,但它与您尝试访问的密钥有关 -
setUsers: () => {}应该是setUsers() {}(声明方法时不要使用箭头函数)
标签: javascript firebase vue.js vue-component