我使用element.io将图像上传到带有vue.js的firebase,没关系,它可以正常工作。问题是,当我想更新模型的字段时,我收到此错误。
未捕获(承诺)TypeError:无法读取属性' id'的 未定义
methods () {
upload(file, fileList) {
this.photo = file.file
if (this.photo) {
let storageRef = firebase.storage().ref('profiles/avatar/'+Date.now()+'/'+this.photo.name);
let uploadTask = storageRef.put(this.photo)
uploadTask.on('state_changed', function(snapshot){
var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
console.log('Upload is ' + progress + '% done');
}, function(error) {
}, function() {
var downloadURL = uploadTask.snapshot.downloadURL
firebase.database().ref('/profiles/' + this.$store.getters.profile.id ).update({ avatar: downloadURL })
})
}
}
}
此行中出现错误,当使用我的数据中的变量时,我得到相同的错误
function() {
var downloadURL = uploadTask.snapshot.downloadURL
firebase.database().ref('/profiles/' + this.$store.getters.profile.id )
.update({ avatar: downloadURL }) })