我正在为我希望显示的每个项目在我的 firebase 数据库中存储图像的相对路径。我无法让图像出现在屏幕上,因为我需要异步获取图像。firebase 架构目前如下:
{
items: {
<id#1>: {
image_loc: ...,
},
<id#2>: {
image_loc: ...,
},
}
}
我想使用以下代码在我的页面上显示这些图像中的每一个:
<div v-for="item in items">
<img v-bind:src="item.image_loc">
</div>
这不起作用,因为我的相对位置指向 Firebase 存储中的某个位置。从这个相对 url 获取真实 url 的相关代码是:
firebase.storage().ref('items').child(<the_image_loc>).getDownloadURL()
它返回一个带有真实网址的承诺。这是我当前的 vue.js 代码:
var vue = new Vue({
el: '.barba-container',
data: {
items: []
},
firebase: function() {
return {
items: firebase.database().ref().child('items'),
};
}
});
我尝试过使用计算属性,包括使用 vue-async-computed,但这些解决方案似乎不起作用,因为我无法传入参数。
基本上,我如何显示一个元素列表,其中每个元素都需要一个承诺的结果?