Vue项目动态加载图片正确写法

 更新时间:2024年04月02日 10:38:36   作者:GuoyeZhang  
最近做项目的时候遇到了动态加载图片的需求,所以这里给大家总结下,这篇文章主要给大家介绍了关于Vue项目动态加载图片的正确写法,文中通过代码介绍的非常详细,需要的朋友可以参考下

1. 错误的写法

以下情况运行异常,图片加载不出来

<img class="img" :src="imgSrc" />
<script>
let imgSrc = '../../assets/img1.png';
</script>

2. 正确的实践写法

方法 1

这时候需要换个写法,让编译时把图片加上去一起处理

原因:编译时webpack会将图片当成模块加载使用。然而上面第 1 点是动态的,loader无法解析图片路径,所以编译规则处理不了,所以加载时会找不到图片。

<img class="img" :src="imgSrc" />

<script>
import img1 from '../../assets/img1.png'
let imgSrc = img1;
</script>

方法2

把图片资源放到静态目录下static,引用的时候就直接是固定地址进行引用

assets 和 static 的区别:
assets:在项目编译的过程会被webpack处理解析为模块依赖,只支持相对路径的形式。
static:在static这个目录下文件不会被webpack处理和解析,webpack直接复制到最终的打包目录dist/static。必须使用绝对路径引用这些文件。

<img src="/static/img1.png" />

附:vue中动态加载图片路径

        在vue中加载图片路径跟我们不用框架引入路径是不同,在页面中使用的话,写的路径是可以生效的,但是我们想动态加载图片路径的话是不生效的。

这里有两种方法来解决:

方法一:(推荐)

1、页面上,绑定动态路径:

<img :src=" imgUrl "/> 

2、data里面:用   require(图片路径)

 data(){
      return{
        imgUrl:require('@/assets/img/mind/mind_5.svg');
    }
}

方法二:

把图片放到static,然后相对路径获取图片就好了

src: '../../../../static/images/docx.png'

总结 

到此这篇关于Vue项目动态加载图片正确写法的文章就介绍到这了,更多相关Vue动态加载图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VUE Elemen-ui之穿梭框使用方法详解

    VUE Elemen-ui之穿梭框使用方法详解

    这篇文章主要为大家详细介绍了VUE Elemen-ui之穿梭框使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • vue3通过父子传值实现弹框功能

    vue3通过父子传值实现弹框功能

    在Vue3中,我们可以通过 provide 和 inject 来实现父子组件之间的数据传递,这也适用于实现弹框功能,下面我们就来学习一下vue3实现弹框功能的具体方法吧
    2023-12-12
  • vue项目打包后请求地址错误/打包后跨域操作

    vue项目打包后请求地址错误/打包后跨域操作

    这篇文章主要介绍了vue项目打包后请求地址错误/打包后跨域操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vue3关于RouterView插槽和过渡动效

    vue3关于RouterView插槽和过渡动效

    这篇文章主要介绍了vue3关于RouterView插槽和过渡动效,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • vue3 el-table结合seamless-scroll实现表格数据滚动的思路详解

    vue3 el-table结合seamless-scroll实现表格数据滚动的思路详解

    这篇文章主要介绍了vue3 el-table结合seamless-scroll实现表格数据滚动,创建两个table,隐藏第一个table的body部分,这样就能得到一个固定的head,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网

    Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网

    这篇文章主要介绍了Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • vue前端优雅展示后端十万条数据面试点剖析

    vue前端优雅展示后端十万条数据面试点剖析

    这篇文章主要为大家介绍了vue前端优雅展示后端十万条数据的考点剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 9102年webpack4搭建vue项目的方法步骤

    9102年webpack4搭建vue项目的方法步骤

    这篇文章主要介绍了9102年webpack4搭建vue项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • Vue router重定向redirect如何传值问题

    Vue router重定向redirect如何传值问题

    这篇文章主要介绍了Vue router重定向redirect如何传值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • VueJS组件之间通过props交互及验证的方式

    VueJS组件之间通过props交互及验证的方式

    本篇文章主要介绍了VueJS组件之间通过props交互及验证的方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-09-09

最新评论