javascript - v-将图像从对象绑定(bind)到 img src 不起作用

标签 javascript vue.js

我试图将对象的 URL 动态绑定(bind)到我的组件,但它不起作用。仅当我使用 require 并且直接链接它时它才有效,如下所示: "v-bind:imagem="/home/thalys/Documentos/Dev/CodeX/santuarioec/src/imgs/anuncio.png"",或者如果我输入相对路径,例如 '../imgs/anuncio.png''@/imgs/anuncio.png'

<template>
   <div>
      <site-template>
         <div class="anuncio">
            <anuncio v-for="anuncio in anuncios" v-bind:key="anuncio.id" v-bind:imagem="anuncio.imagem">

            </anuncio>
         </div>

      </site-template>
   </div>
</template>

<script>
import SiteTemplate from '@/templates/SiteTemplate'
import Anuncio from '@/components/anuncio/Anuncio'

export default {
    name: 'Home',
    components: {
       SiteTemplate,
       Anuncio
    },
    data () {
       return {
          anuncios: [
             { "id": 1, "imagem": "/home/thalys/Documentos/Dev/CodeX/santuarioec/src/imgs/anuncio.png" },
             { "id": 2, "imagem": "/home/thalys/Documentos/Dev/CodeX/santuarioec/src/imgs/anuncio.png" },
             { "id": 3, "imagem": "/home/thalys/Documentos/Dev/CodeX/santuarioec/src/imgs/anuncio.png" },
             { "id": 4, "imagem": "/home/thalys/Documentos/Dev/CodeX/santuarioec/src/imgs/anuncio.png" },
             { "id": 5, "imagem": "/home/thalys/Documentos/Dev/CodeX/santuarioec/src/imgs/anuncio.png" }
          ]
       }
    }
 }
 </script>

这是我的组件“Anuncio”

<template>
    <div class="anuncio">
        <div class="w3">                
          <img class="img" v-bind:src="imagem"/>
       </div>
    </div>
</template>

<script>
export default {
    name: 'Anuncio',
    props: ['titulo', 'imagem'],
    data () {
        return {
        }
    }
}

</script>

最佳答案

所以这是解决方案:

在您的 Anuncio 组件中,您必须将图像的路径硬编码到 require() 方法。因此,您的 img HTML 标签如下所示:

<img class="img" v-bind:src="require(`../imgs/${imagem}`)"/>

在包含带有图像名称的路径的数组中,您应该只提供名称和 .png。 它看起来像这样:

anuncios: [
             { "id": 1, "imagem": "anuncio.png" },
             { "id": 2, "imagem": "anuncio.png" },
             { "id": 3, "imagem": "anuncio.png" },
             { "id": 4, "imagem": "anuncio.png" },
             { "id": 5, "imagem": "anuncio.png" }
          ]

尝试一下。

关于javascript - v-将图像从对象绑定(bind)到 img src 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54892891/

相关文章:

JavaScript:使用 Object.create 时获得的最大优势是什么

javascript - Ember 应用程序无法从本地文件加载 json 数据

javascript - 重新连接和断开 MutationObserver

go - 生产中的 vue-router(使用 Go 服务)

javascript - 如何在vuejs中的输入文本中添加禁用属性?

javascript - 自定义 mongodb 搜索对象?

javascript - 在Excel中,如何通过引用它们的名称来定位行、列和单元格?

vue.js - 如何使每个 Vue 构建都包含可在 Vue 应用程序中访问的版本?

vue.js - vue-router:按名称和参数导航到嵌套状态/路由

javascript - 未捕获的类型错误 : Cannot read property '$store' of null