VUE当请求的图片属性不存在或者属性值为空时分别使用本地默认图片代替

请求不到图片时有两种情况

  1. 后台传过来的数据里面有图片对应的属性但是没有图片地址(值)

  1. 后台传过来的数据根本就没有这个属性

这个时候前台拿到的数据为null或者是[],我们可以使用三元表达式或者vue的:onerror() API来进行判断

 <img :src="item.avatar==null? defaultImg : item.avatar" alt="" >
<img :src="item.avatar" alt="" :onerror="defaultImg" >

item.avatar是我们从后台数据拿到的图片的属性名如果他为null,vue就会把item.avatar替换为我们在在data中定义的默认图片属性defaultImg(属性值为图片地址,如果是本地图片就使用require来获取),否则vue就渲染后台数据里面的item.avatar。

同样的如果是有属性没有值的情况下,我们只需要将判断的条件由NULL改为[]或者''

最后还有一种比较极端的情况,那就是后台传过来的数据同时包含上面两种情况,有的元素没有属性,有的元素有属性没有值。这个时候除了上面用到的三元表达式之外,还要用到vue自己的API(@error)

<img :src="item.avatar==null? defaultImg : item.avatar" @error="defaultImgs(item)"  >
//methods方法
defaultImgs(item){
       {
          item.avatar=this.defaultImg
       }
   },

使用三元表达式来判断属性是否存在,@error判断属性值是否为空(在@error中调用methods中的defaultImgs方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值