【Vue】】img使用 :src 动态绑定图片地址,但是加载图片不成功

问题复现:

img标签直接动态绑定图片的相对路径的时候,图片不能正常显示。代码如下所示

<view style="margin: 20rpx" v-for="(item, index) in showSampleImage" :key="index">
	<u-image :src="item.src" :width="item.width" :height="item.height"></u-image>
</view>
showSampleImage: [{
		src: "../sampleImage/1.jpg",
		width: "311",
		height: "148",
	},
	{
		src: "../sampleImage/2.jpg",
		width: "311",
		height: "148",
	},
]

但是如果把 src 里的地址写死就可以正常渲染,如下所示:

<view style="margin: 20rpx" v-for="(item, index) in showSampleImage" :key="index">
	<u-image :src="../sampleImage/1.jpg" :width="item.width" :height="item.height"></u-image>
</view>

原因:

动态地址,路径被加载器解析为字符串,所以图片找不到

解决方法:

设置绝对路径或者相对路径是改为用 require 引入才能成功,就可以动态使用了。

showSampleImage: [{
		src: require("../sampleImage/1.jpg"),
		width: "311",
		height: "148",
	},
	{
		src: require("../sampleImage/1.jpg"),
		width: "311",
		height: "148",
	},
],
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值