vue动态绑定img标签的src地址

时间:2022-01-11 23:14:53

问题代码:

<li v-for="(item,index) in images" :key="index">

<img :src="item.src"></li>

如果使用vue-lazyloader加载那就是:

<img v-lazy="item.src"></li>

以上代码会出现控制台会报错404的的错误,原因如下:

摘自:https://blog.csdn.net/mr_yanyan/article/details/78783091

在webpack中会将图片图片来当做模块来用,因为是动态加载的,所以url-loader将无法解析图片地址,然后npm run dev 或者npm run build之后导致路径没有被加工。

 

解决方法:加个require()

摘自:https://blog.csdn.net/qq_39313596/article/details/84644500

<img :src="require('../assets/images/'+imgsrc+'.png')"/>

<img v-lazy="require('../assets/images/'+imgsrc+'.png')"/>

注意:require(../assets/images/)这部分是把整个images文件夹都加载进来了,没有用到的图片也会被加载进来。不知道会不会影响页面加载速度。

自己另外建立了一个文件夹放动态加载的图片。