图片加载失败显示默认图片

本文介绍了一种简单的方法来处理网页加载图片时遇到的问题,即当图片不存在或路径不正确时,通过在img标签中使用onerror属性设置默认图片来避免显示错误图标。

在页面加载的图片的时候,如果图片不存在或者路径不存在,页面加载图片就会如下图所示。
这里写图片描述

解决方法:
在img 标签中添加一下标签

onerror="onerror=null;src='img/a3.jpg'"

src中写默认图片地址即可

在Vue中,当img标签图片加载失败显示默认图片路径有以下几种实现方法: ### 方法一:使用`onerror`属性 可以直接在`img`标签中使用`onerror`属性来指定默认图片路径。示例代码如下: ```html <img src="原来要加载的资源" onerror="this.src='默认图片路径'"/> ``` 这种方式比较简单直接,当图片加载失败,会自动将`src`属性替换为默认图片的路径。 ### 方法二:通过`@error`方法结合自定义函数 在Vue组件中,可以通过监听`@error`事件,在事件处理函数中设置默认图片路径。示例代码如下: ```html <template> <div class="book-img"> <img v-if="item.coverImg" :src="item.coverImg" @error="errorImg($event)" /> </div> </template> <script> export default { data() { return { item: { coverImg: '原来要加载的资源' } }; }, methods: { errorImg(e) { e.srcElement.src = require('../../src/assets/no-img.png'); e.srcElement.onerror = null; // 防止闪图 } } }; </script> ``` 在上述代码中,当图片加载失败,会触发`errorImg`方法,将图片的`src`属性替换为默认图片的路径。同,设置`onerror`为`null`可以防止图片一直加载失败导致的闪屏问题。 ### 方法三:在组件的`data`中设置默认图片路径 可以在组件的`data`选项中定义默认图片路径,然后在`@error`事件处理函数中使用。示例代码如下: ```html <template> <img :src="img" @error="handleError" /> </template> <script> export default { data() { return { img: '原来要加载的资源', defaultImg: require('@/assets/images/right/default-person.png') }; }, methods: { handleError(e) { e.target.src = this.defaultImg; } } }; </script> ``` 这种方式将默认图片路径的定义和使用分离,使代码更加清晰和易于维护。 ### 方法四:在`onerror`属性中使用Vue的`require` 可以在`onerror`属性中直接使用Vue的`require`来引入默认图片。示例代码如下: ```html <template> <img :src="img" :onerror="defaultImg" /> </template> <script> export default { data() { return { img: '原来要加载的资源', defaultImg: `this.src = '${require('@/assets/images/right/default-person.png')}'` }; } }; </script> ``` 在上述代码中,`defaultImg`是一个字符串表达式,当图片加载失败,会执行该表达式将`src`属性替换为默认图片的路径。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值