如何使用 v-bind 显示来自 firebase 存储的图像?
How to display images from firebase storage with v-bind?
我有一个连接到 Firebase 数据库和 Firebase 存储的 VueJS 项目。
我已经能够存储图像,同时将文档添加到数据库,包括图像的下载 URL。
为了从 firebase 检索数据,我进行了此调用
db.collection("employees")
.get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
console.log(doc.data())
const data = {
id: doc.id,
employee_id: doc.data().employee_id,
name: doc.data().name,
imageUrl: doc.data().imageUrl
};
this.employees.push(data)
})
})
我将此调用的结果记录到控制台。它显示:
{imageName: "efefe", imageUrl: "https://firebasestorage.googleapis.com/v0/b/test-a…=media&token=9d2d7a1f-39b3-4582-8df1-f857aefc1a70", name: "jack"}
为了展示检索到的数据,我使用了这个模板代码
<div v-for="employee in employees" :key="employee.id" class="slide">
<b-card
v-bind:title="employee.name"
v-bind:src="employee.imageUrl"
style="min-width: 15rem; max-width: 15rem;"
class=""
>
</b-card>
</div>
显示所有员工,包括他们的名字,但没有图像。
我了解到一个可能的 Webpack 问题,可以通过使用 require('') 包装 v-bind:src 值来解决。我已经尝试过了,但它不起作用,我收到一个终端错误,指出找不到依赖项。
我已经解决这个问题几个小时了,但无法让它工作。
有人可以提供看看吗。我将不胜感激。
我查了bootstrap-vue document,应该是img-src
而不是src
<b-card
v-bind:title="employee.name"
:img-src="employee.imageUrl"
style="min-width: 15rem; max-width: 15rem;"
class=""
>
</b-card>
我有一个连接到 Firebase 数据库和 Firebase 存储的 VueJS 项目。
我已经能够存储图像,同时将文档添加到数据库,包括图像的下载 URL。
为了从 firebase 检索数据,我进行了此调用
db.collection("employees")
.get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
console.log(doc.data())
const data = {
id: doc.id,
employee_id: doc.data().employee_id,
name: doc.data().name,
imageUrl: doc.data().imageUrl
};
this.employees.push(data)
})
})
我将此调用的结果记录到控制台。它显示:
{imageName: "efefe", imageUrl: "https://firebasestorage.googleapis.com/v0/b/test-a…=media&token=9d2d7a1f-39b3-4582-8df1-f857aefc1a70", name: "jack"}
为了展示检索到的数据,我使用了这个模板代码
<div v-for="employee in employees" :key="employee.id" class="slide">
<b-card
v-bind:title="employee.name"
v-bind:src="employee.imageUrl"
style="min-width: 15rem; max-width: 15rem;"
class=""
>
</b-card>
</div>
显示所有员工,包括他们的名字,但没有图像。
我了解到一个可能的 Webpack 问题,可以通过使用 require('') 包装 v-bind:src 值来解决。我已经尝试过了,但它不起作用,我收到一个终端错误,指出找不到依赖项。
我已经解决这个问题几个小时了,但无法让它工作。
有人可以提供看看吗。我将不胜感激。
我查了bootstrap-vue document,应该是img-src
而不是src
<b-card
v-bind:title="employee.name"
:img-src="employee.imageUrl"
style="min-width: 15rem; max-width: 15rem;"
class=""
>
</b-card>