Поскольку getDownloadURL()
возвращает обещание, я бы рекомендовал реализовать readyCallback
для заполнения data
объекта соответствующим URL-адресом изображения для каждой службы .
data () {
return {
serviceImages: {} // start with an empty object
}
},
firebase: {
services: { // make this a config object instead
source: serviceRef,
readyCallback () {
this.services.forEach(({fileName}) => {
firebase.storage()
.ref(`service_images/${fileName}`)
.getDownloadURL()
.then(img => {
// use Vue.set for reactivity
this.$set(this.serviceImages, fileName, img)
})
})
}
}
}
и в вашем шаблоне что-то вроде
<img :src="serviceImages[service.fileName]"...