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

目录
  • 动态绑定img的src属性(v-bind)
    • 解决办法
  • 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'  ,同样可以解决上面的问题

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

(0)

相关推荐

  • Vue中img的src属性绑定与static文件夹实例

    不少人在vue的开发中遇到这样一个问题: img的src属性绑定url变量,然而图片加载失败. 大部分的情况中,是开发者使用了错误的写法,例如: <img src="{{ imgUrl }}"/> 这样写肯定是不对的,正确的写法应该使用v-bind: <img v-bind:src="imgUrl"/> 不过,有时候即使使用了正确的语法,依旧无法显示图片,因为你的imgUrl使用了本地图片的路径. 例如,有下面一个文件结构: 现在,我们要在A

  • 解决vue2.0动态绑定图片src属性值初始化时报错的问题

    在vue2.0中,经常会使用类似这样的语法 v-bind:src = " imgUrl "(缩写 :src = " imgUrl "),看一个案例 <template> <div> <img :src="imgUrl"> </div> </template> <script> export default { data(){ return { captcha_id: &quo

  • 详解VueJs中的V-bind指令

    引子 v-bind  主要用于属性绑定,Vue官方提供了一个简写方式 :bind,例如: <!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩写 --> <a :href="url"></a>   一.概述 v-bind  主要用于属性绑定,比方你的class属性,style属性,value属性,href属性等等,只要是属性,就可以用v-bind指令进行绑

  • 一文读懂vue动态属性数据绑定(v-bind指令)

    v-bind的基本用法 一.本节说明 前面的章节我们学习了如何向页面html标签进行插值操作,那么如果我们想动态改变html标签的属性,该怎么办呢? 这就是我们这节开始要讲的内容v-bind. 二. 怎么做 ":"为v-bind的简写形式,也可称为语法糖 三. 效果 四. 深入 在上图中将a标签的href属性值设置为toutiao,VUE实例将自动去data里面寻找toutiao属性进行值绑定. 不只是a标签,所有的html标签属性都可以通过v-bind进行值绑定,然后通过改变数据动态

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

    目录 动态绑定img的src属性(v-bind) 解决办法 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="ind

  • vue中动态绑定表单元素的属性方法

    在vue中有时候可能想像使用jq一样给某个元素添加属性,如 $('#select1').attr('disabled','disabled') 这种方法也能实现,但是在vue中能用vue的方法还是尽量不要使用jq 使用vue的方法来添加属性可以这样: <select v-model='issues' class="ui dropdown t-select-list" :disabled='isDisabled'> <option></option>

  • Vue用v-for给src属性赋值的方法

    我的代码结构如下面代码所示,无法执行,在img中的src属性中无法用mustache表示法 <div id="test"> <div v-for="item in lists"> <img src="{{item.img}}"> </div> </div> new Vue({ el: "#test", data: function () { return { list

  • 解决Vue.js 2.0 有时双向绑定img src属性失败的问题

    错误用法: <img src="http:0.0.0.127/{{item.imgname}}" alt=""> 正确用法: <img src="'http:0.0.0.127/'+item.imgname" alt=""> 绑定属性的时候,前面加: 属性的值可以用表达式,但注意字符串拼接的时候要加引号 以上这篇解决Vue.js 2.0 有时双向绑定img src属性失败的问题就是小编分享给大家的全部内

  • vue 中动态绑定class 和 style的方法代码详解

    先列举一些例子 class="['content',{'radioModel':checkType}]" class="['siteAppListDirNode',{open:appitem.open==true}]" class="['portalCenterMenu',{showNav:!showHideNav,hideNav:showHideNav}]" class="{shortcutMenuShow:!showHideNav,

  • 详解Vue.js动态绑定class

    Vue.js 的核心是一个响应的数据绑定系统,它允许我们在普通 HTML 模板中使用特殊的语法将 DOM "绑定"到底层数据.被绑定的DOM 将与数据保持同步,每当数据有改动,相应的DOM视图也会更新.基于这种特性,通过vue.js动态绑定class就变得非常简单. 1. 数据绑定 vue 指令以 v- 前缀标示,数据绑定的指令 v-bind:属性名, 简写为 :属性名, 简单的数据绑定例子如下: <a v-bind:href="http://www.cnblogs.c

  • 基于vue 动态加载图片src的解决方法

    好久没更博了,最近也不知道在忙啥,反正就是感觉挺忙的,在群里看到陆陆续续有刚入vue小伙伴问vue动态加载图片总是404的状况,这篇就简单的说明为什么会出现以及解决办法有哪些. 首先先说明下vue-cli的assets和static的两个文件的区别,因为这对你理解后面的解决办法会有所帮助 assets:在项目编译的过程中会被webpack处理解析为模块依赖,只支持相对路径的形式,如< img src="./logo.png">和background:url(./logo.p

  • Vue中的v-for循环key属性注意事项小结

    当Vue用 v-for 正在更新已渲染过的元素列表是,它默认用"就地复用"策略.如果数据项的顺序被改变,Vue将不是移动DOM元素来匹配数据项的改变,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素. 为了给Vue一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性.key属性的类型只能为 string或者number类型. 在下面这个例子中,如果不给 p 元素绑定key,我先选中第一个, 然后输入ID和Nam

随机推荐