如何优雅地在Vue页面中引入img图片

我们在学习html的时候,图片标签引入图片

<img src="../assets/images/avatar.png" width="100%">

但是这样会有2个弊端:

因为采用绝对路径引入,所以如果后面这张图片移动了目录,就需要修改代src里的路径
如果这张图片在同一页面内有多个地方要使用到,就需要引入多次,而且图片移动了目录,这么多地方都要修改src路径
怎么办?使用动态路径import、require
首先讲讲这两个兄弟,在ES6之前,JS一直没有自己的模块语法,为了解决这种尴尬就有了require.js,在ES6发布之后JS又引入了import的概念

使用import引入
import之后需要在data中注册一下,否则显示不了

<script>
import lf1 from '@/assets/images/lf1.png'
import lf2 from '@/assets/images/lf2.png'
import lf3 from '@/assets/images/lf3.png'
import lf4 from '@/assets/images/lf4.png'
import lf5 from '@/assets/images/lf5.png'
import lf6 from '@/assets/images/lf6.png'
import lf7 from '@/assets/images/lf7.png'
import top1 from '@/assets/images/icon_top1.png'


export default {
name: 'Left',
data () {
return {
lf1,
lf2,
lf3,
lf4,
lf5,
lf6,
lf7,
top1
}
}
}
</script>

复制代码
使用require引入

<script>
import top1 from '@/assets/images/cityOfVitality/icon_top1.png'


export default {
name: 'Right',
data () {
return {
rt1: require('@/assets/images/crt1.png'),
rt2: require('@/assets/images/crt2.png'),
rt3: require('@/assets/images/crt3.png'),
rt4: require('@/assets/images/crt4.png'),
rt5: require('@/assets/images/crt5.png'),
rt6: require('@/assets/images/crt6.png'),
top1
}
}
}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linlinlove2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值