VueCli动态加载图片踩坑,如何使用require(变量)动态获取图片

  • 使用字符串拼接,实现动态加载图片:require("@/" + src)
看个简单例子就懂了

在template里引用方法getImgUrl():

<div v-for="(item, index) in dataImg" :key="index">
	<img :src="getImgUrl(item.src)"/>
</div>

在method里实现,不使用字符串拼接:

getImgUrl() {
    // src的值是你绝对路径下图片的地址
	return require("@/assets/comic/吾猫当仙.jpg")
}

在method里实现,使用字符串拼接,有多种方式:

// 一个函数只能一个return,为了方便看,就不注释了

getImgUrl(src) {
    // src的值是你绝对路径下图片的地址,此地址需省略开头的 @/ 
    
    // 方法一:此处的src是:assets/comic/吾猫当仙.jpg
    return require("@/" + src);	
    
    // 方法二:此处的src是:comic/吾猫当仙.jpg
    return require("@/assets/" + src);	
    
    // 方法三:此处的src是:吾猫当仙.jpg
    return require("@/assets/comic/" + src);
	
	// 还有方法四,五,六……同理
},
切记!
至少要将 @/ 需要拿出来,如果不拿出来,就无法解析成正确的图片地址!

噢耶!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值