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

本文探讨了在网页中遇到图片加载错误时的处理方法及优化策略,包括使用备用图片、错误处理脚本以及提高图片加载效率的技术手段。
<img src="images/1.jpg" onerror="javascript:this.src='images/2.jpg'" alt="" />
在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`属性替换为默认图片的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值