在vue中,显示默认图片

vue中使用默认图片

例如:
 <img :src="personlist.avatarUrl?personlist.avatarUrl:defaultImg" />
  方法:使用三元运算符。
  解释:如果数据请求成功则显示personlist.avatarUrl中的图片,如果不成功则默认显示defaultImg中的图片。
其中,personlist.avatarUrl为请求的接口中的数据;defaultImg为默认图片。
 
另外,还需要在data中使用require设置默认图片的路径。(写自己的图片路径,这里只是一个例子)
data() {
       defaultImg: require("../assets/logo.png")
    };

原生js的写法

Vue的写法和原生的不一样,原生的可以这个样写:
1、让这个图片元素隐藏:

<img src="图片的url地址" alt="图片加载失败" onerror="this.style.display='none'"/>

2、用默认的图片替换:

<img src="图片的url地址" alt="图片加载失败" onerror="this.src='默认图片的url地址'"/>

注意:如果使用不当,在IE内核的浏览器下会造成死循环。
比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。
因此, 常用下面两种方法解决:
a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。
b、控制onerror事件只触发一次,需要增加这句this.οnerrοr=null; 增加后如下:

<img src="图片的url地址" alt="图片加载失败" onerror="this.src='默认图片的url地址';this.onerror=null"/>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值