如何使用v-bind显示来自firebase存储的图像?

问题描述 投票:0回答:1

我有一个连接到Firebase数据库和Firebase存储的VueJS项目。

我已经能够将图像存储到存储器中,同时将文档添加到数据库,包括图像的downloadURL。

要从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值来解决。我已经尝试过,但它不起作用,我得到一个终端错误,找不到依赖项。

我已经遇到这个问题几个小时了,无法让它工作。

有人可以提供看看。我将非常感激。

firebase firebase-realtime-database vuejs2 firebase-storage webpack-dev-server
1个回答
2
投票

我检查了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> 
© www.soinside.com 2019 - 2024. All rights reserved.