vue如何动态绑定img的src属性(v-bind)

 更新时间:2022年04月22日 15:39:18   作者:ji_ban  
这篇文章主要介绍了vue如何动态绑定img的src属性(v-bind),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

动态绑定img的src属性(v-bind)

今天遇到一个特别坑爹问题,页面中使用img动态绑定图片路径时总是不显示。(处理前的代码)

<div class="prod-content">
  <div class="prod-item" v-for="(item,index) in Merchant" :key="index">
    <img :src="item.imgUrl" alt="">
    <span>{{item.name}}</span>
  </div>
</div>
Merchant:[
    {imgUrl:'../../assets/image/凯叔讲故事.png',name:'凯叔讲故事'},
    {imgUrl:'../../assets/image/樊登读书.png',name:'樊登读书'},
    {imgUrl:'../../assets/image/QQ音乐.png',name:'QQ音乐'},
    {imgUrl:'../../assets/image/滴滴出行.png',name:'滴滴出行 '},
    {imgUrl:'../../assets/image/沃尔玛.png',name:'沃尔玛'},
    {imgUrl:'../../assets/image/星巴克.png',name:'星巴克'},
    {imgUrl:'../../assets/image/爱奇艺.png',name:'爱奇艺'},
    {imgUrl:'../../assets/image/腾讯视频.png',name:'腾讯视频'},
    {imgUrl:'../../assets/image/优酷.png',name:'优酷'},
    {imgUrl:'../../assets/image/携程.png',name:'携程'},
  ],

解决办法

图片链接是需要通过 require包裹。这样图片就可以正常显示啦。(网络请求的数据应该做相应的处理) 

*** 图片的路径不要出行中文,这里只是做演示

Merchant:[
  {imgUrl:require('../../assets/image/凯叔讲故事.png'),name:'凯叔讲故事'},
  {imgUrl:require("../../assets/image/樊登读书.png"),name:'樊登读书'},
  {imgUrl:require("../../assets/image/QQ音乐.png"),name:'QQ音乐'},
  {imgUrl:require("../../assets/image/携程.png"),name:'携程'},
  {imgUrl:require("../../assets/image/滴滴出行.png"),name:'滴滴出行'},
  {imgUrl:require("../../assets/image/沃尔玛.png"),name:'沃尔玛'},
  {imgUrl:require("../../assets/image/星巴克.png"),name:'星巴克'},
  {imgUrl:require("../../assets/image/爱奇艺.png"),name:'爱奇艺'},
  {imgUrl:require("../../assets/image/腾讯视频.png"),name:'腾讯视频'},
  {imgUrl:require("../../assets/image/优酷.png"),name:'优酷'},
],

vue添加img的src地址 v-bind

vue获取数据用{{ a }}

但是放在img标签的src里面不被解析

按照上述用法

html部分

 <div id="test2">
        <img src="{{ url }}" alt="">
    </div>

js部分

 const vm1 = new Vue({
            el: '#test2',
            data: {
                url: "a.jpg",
            }
        })

这样的话  控制台会报错  img的地址不会被解析

正确的用法  通过v-bind进行绑定

 <div id="test2">
        <img v-bind:src="url" alt="">
    </div>

这样在进行输出的时候,就会解析url

如果标签内有很多属性的话,v-bind就需要写很多,看起来就会显得非常乱

vue还提供了一个简写,就是在属性前面加个 冒号 ,例如 :src='url'  ,同样可以解决上面的问题

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue-cli3单页构建大型项目方案

    vue-cli3单页构建大型项目方案

    这篇文章主要介绍了vue-cli3单页构建大型项目方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Vue使用高德地图选点定位搜索定位功能实现

    Vue使用高德地图选点定位搜索定位功能实现

    这篇文章主要介绍了Vue使用高德地图选点定位搜索定位功能,文中给大家提到了常见问题解决方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • vue实现移动端适方案的完整步骤

    vue实现移动端适方案的完整步骤

    现在的手机五花八门,造就了移动端窗口分辨率繁多的局面,在不同分辨率的屏幕下保持与UI图一致的效果,就成了让前端不得不头疼的问题,下面这篇文章主要给大家介绍了vue实现移动端适方案的相关资料,需要的朋友可以参考下
    2022-10-10
  • vue中的input框点击后不聚焦问题

    vue中的input框点击后不聚焦问题

    这篇文章主要介绍了vue中的input框点击后不聚焦问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue3除了keep-alive还有哪些实现页面缓存详解

    Vue3除了keep-alive还有哪些实现页面缓存详解

    Vue3中的keep-alive组件用于缓存页面,以便在切换页面时保留其状态,下面这篇文章主要给大家介绍了关于Vue3除了keep-alive还有哪些实现页面缓存的相关资料,需要的朋友可以参考下
    2024-04-04
  • 在Vue3中使用CSS Modules实现样式隔离

    在Vue3中使用CSS Modules实现样式隔离

    随着构建现代前端应用的需要,样式的管理和隔离变得越来越重要,为了解决样式冲突和管理困难的问题,CSS Modules 应运而生,本文我们将讨论如何在 Vue3 中使用 CSS Modules 实现样式隔离,需要的朋友可以参考下
    2024-09-09
  • vue3 :deep()的使用教程

    vue3 :deep()的使用教程

    对应前端小白来说,一看到:deep()这些模式的用法就不理解是啥意思,下面简单介绍一下:deep()是什么以及如何使用,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Vue传递参数不在URL路径拼接显示问题

    Vue传递参数不在URL路径拼接显示问题

    这篇文章主要介绍了Vue传递参数不在URL路径拼接显示问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue Element前端应用开发之界面语言国际化

    Vue Element前端应用开发之界面语言国际化

    我们开发的系统,一般可以不用考虑语言国际化的问题,大多数系统一般是给本国人使用的,而且直接使用中文开发界面会更加迅速 一些,不过框架最好能够支持国际化的处理,以便在需要的时候,可以花点时间来实现多语言切换的处理,使系统具有更广泛的受众用户。
    2021-05-05
  • vue.js实现只弹一次弹框

    vue.js实现只弹一次弹框

    本篇文章通过代码实例给大家详细讲述了一个vue的实例,实现只弹一次弹框功能,一起学习分享下。
    2018-01-01

最新评论