Vue中img的src动态赋值本地路径报错

问题:我想根据tabIndex是否是当前值,来判断显示本地不同的图片。我按照下面的写法,页面会报404找不到相应图片地址。
 

<div class="tab-item" @click="tabIndex=0">
    <img :src="tabIndex == 0 ? '@/assets/imgs/liaotian2.png' : '@/assets/imgs/liaotian1.png'" alt="">
</div>

 报错:


后来问了下同事,才得到解法。下面就简单总结一下正确写法:

静态 赋【静态url】地址:

<img src="@/assets/imgs/avatar.jpeg" >

动态 赋 【静态url 】地址(原因不多赘述,可以去百度下import和require的区别):
vue中img的src和react中相似。
写法①:

js: 
    import url_1 from "@/assets/imgs/liaotian1.png"
    import url_2 from "@/assets/imgs/liaotian2.png"

html:
    <img :src="url_1" alt="">
    <img :src="tabIndex == 0 ? url_1 : url_2 alt="">

写法②: 

<img :src="require('@/assets/imgs/avatar.jpeg')" >

 


所以,我的项目中可以根据状态判断img的src值,代码如下:

<div class="tab-section">
    <div class="tab-item" @click="tabIndex=0">
        <img :src="tabIndex == 0 ? require('@/assets/imgs/liaotian2.png') : require('@/assets/imgs/liaotian1.png')" alt="">
    </div>
    <div class="tab-item" @click="tabIndex=1">
        <img :src="tabIndex == 1 ? require('@/assets/imgs/lishi2.png') : require('@/assets/imgs/lishi1.png')" alt="">
    </div>
    <div class="tab-item" @click="tabIndex=2">
        <img :src="tabIndex == 2 ? require('@/assets/imgs/jiqi2.png') : require('@/assets/imgs/jiqi1.png')" alt="">
    </div>
</div>

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值