欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

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

时间:2022-11-07 09:37:57|栏目:vue|点击:

动态绑定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高级用法实例教程之动态组件

栏    目:vue

下一篇:vue打包后显示空白正确处理方法

本文标题:vue如何动态绑定img的src属性(v-bind)

本文地址:http://www.codeinn.net/misctech/218381.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有