Vue 图片加载失败处理
Vue 图片加载失败处理
很多人会使用 @error 方法在图片加载 失败时替换img.src 的方式
但是这种方式在默认图片加载失败时,@error会出现死循环,所以我使用了@error + v-if的方式。
<template><div><!-- 正常时显示 --><img v-if="!imgError" :src="imgUrl" @error="imgErrorHandler"/><!-- 加载异常时显示 --><img v-else :src="defaultImgUrl"/></div>
</template>
export default {name: 'ImgOnError',data() {return {imgError: false,imgUrl: 'https://images.unsplash.com/photo1-1706733144563-c42ec7e637' +'d4?q=80&w=870&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fD' +'B8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D',defaultImgUrl: 'https://images.unsplash.com/photo-1706508963745-d090f' +'82a0416?q=80&w=435&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxM' +'jA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D'}},methods: {imgErrorHandler() {// 图片加载失败时调用,用于替换为显示默认图片this.imgError = true;}}}
使用这种方式在默认图片也加载失败时会死循环
在看了很多文章后,发现大多是在 @error 方法中添加 img.onerror = null,目的是为了防止默认图片也加载失败时 @error 一直循环调用,但是在我的测试中,这个语句并不能防止这个问题,不知道是版本还是什么原因。
<template><div><img :src="imgUrl" @error="imgErrorHandler"/></div>
</template>
export default {name: 'ImgOnError',data() {return {imgUrl: 'https://images.unsplash.com/photo1-1706733144563-c42ec7e637' +'d4?q=80&w=870&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fD' +'B8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D',defaultImgUrl: 'https://images.unsplash.com/photo-1706508963745-d090f' +'82a0416?q=80&w=435&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxM' +'jA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D'}},methods: {imgErrorHandler(event) {let img = event.srcElement;img.src = this.defaultImgUrl;// 很多文章在这里写上这句,为了防止error方法循环调用// 但是我在测试时并不生效img.onerror = null;}}}
相关文章:
Vue 图片加载失败处理
Vue 图片加载失败处理 很多人会使用 error 方法在图片加载 失败时替换img.src 的方式 但是这种方式在默认图片加载失败时,error会出现死循环,所以我使用了error v-if的方式。 <template><div><!-- 正常时显示 --><img v-if&quo…...
Quartus IP学习之ISSP(In-System Sources Probes)
一、ISSP IP概要: ISSP:In-System Sources & Probes Intel FPGA IP 作用: 分为In-System Sources与In-System Probesn-System Sources,输入端,等价于拨码开关,通过输入板载FPGA上的拨码开关状态改变…...
Vue组件通信讲解[父子组件通信]
Vue组件通信讲解 在Vue中,父子组件之间的通信可以通过props和emit来实现。props用于从父组件向子组件传递数据,而$emit用于从子组件向父组件触发事件。 以下是一个包含子传父和父传子通信的Vue案例解决方案: 父组件:Parent.vue…...
Qt应用开发(安卓篇)——调用ioctl、socket等C函数
一、前言 在 Qt for Android 中没办法像在嵌入式linux中一样直接使用 ioctl 等底层函数,这是因为因为 Android 平台的安全性和权限限制。 在 Android 中,访问设备硬件和系统资源需要特定的权限,并且需要通过 Android 系统提供的 API 来进行。…...
centos 安装docker CE
centos 安装docker CE 0. 参考 1. 安装需要的包 sudo yum install -y yum-utils \device-mapper-persistent-data \lvm22. 添加仓库 sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo3. 安装docker sudo yum install docke…...
某赛通电子文档安全管理系统 UploadFileList 任意文件读取漏洞复现
0x01 产品简介 某赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产,对电子文档进行全生命周期防护,系统具有透明加密、主动加密、智能…...
Kafka运维相关知识
目录 一、基本概念 二、技术特性 三、设计思想 四、运维建议 一、基本概念 Apache kafka 是一个分布式的基于push-subscribe的消息系统,它具备快速、可扩展、可持久化的特点。它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于h…...
鸿蒙Native项目生产动态库(.so) 和静态库(.a)
通过 DevEco Studio 创建Native项目,我的版本为:Build Version: 3.1.0.501, built on June 20, 2023 CMakeLists.txt 文件中默认生成的是动态库,该命令为:add_library(entry SHARED hello.cpp) 通过Sutdio的操作 Build -> Bu…...
B站课程评分
Spring6 https://www.bilibili.com/video/BV1Ft4y1g7Fb/ 评价: 推荐一看 配套文档优秀, 老师口齿清晰, 条理不错. mybatis https://www.bilibili.com/video/BV1JP4y1Z73S/?spm_id_from333.337.search-card.all.click 评价: 推荐一看 配套文档优秀, 老师口齿清晰, 条理不错…...
【C++】拷贝构造函数和赋值运算符重载详解
目录 拷贝构造函数 概念 特征 赋值运算符重载 运算符重载 赋值运算符重载 编辑前置和后置重载 ⭐拷贝构造函数 ⭐概念 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存 在的类类型对象创建新…...
BUUCTF-Real-[ThinkPHP]5-Rce
1、ThinkPHP检测工具 https://github.com/anx0ing/thinkphp_scan 漏洞检测 通过漏洞检测,我们发现存在rce漏洞! 2、漏洞利用 ---- [!] Name: Thinkphp5 5.0.22/5.1.29 Remote Code Execution VulnerabilityScript: thinkphp5022_5129.pyUrl: http://n…...
物联网中基于WIFI的室内温度检测系统设计
标题:物联网中基于WIFI的室内温度检测系统设计 摘要 随着物联网技术的快速发展,智能家居环境监测系统成为研究热点之一。本论文旨在设计并实现一个基于Wi-Fi的室内温度检测系统,用于实时监控和调节家庭或办公环境中的温度条件。该系统利用Wi-Fi信号的特性进行温度感知,不…...
驱动开发-系统移植
一、Linux系统移植概念 需要移植三部分东西,Uboot ,内核 ,根文件系统 (rootfs) ,这三个构成了一个完整的Linux系统。 把这三部分学明白,系统移植就懂点了。 二、Uboot 1、啥是Uboot uboot就是引导程…...
MySQL数据存储
MySQL数据存储 Innodb存储引擎的数据存储,可以使用两种方式进行存储:系统表空间和独立表空间 -- ON表示使用的是独立表空间-- OFF表示使用的是系统表空间show variables like %innodb_file_per_table% 系统表空间(共享表空间) 在MySQL5.5之前默认使用的是…...
带着问题读源码——Spring MVC是怎么找到接口实现类的?
引言 我们的产品主打金融服务领域,以B端客户为我们的核心合作伙伴,然而,我们的服务最终将惠及C端消费者。在技术实现上,我们采用了公司自主研发的微服务框架,该框架基于SpringBoot,旨在提供高效、可靠的服…...
[NAND Flash 7.1] 闪存系统性能优化方向集锦?AC timing? Cache? 多路并发?
依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 传送门 >>> 总目录 主页: 元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言。 个人辛苦整理,付费内容,禁止转载。 内容摘要 优…...
【数据结构】分治策略
现场保护和现场恢复 文章目录 分治策略分治法解决问题有以下四个特征:分治法步骤: 递归:解决以下问题:倒序输出整数求最大公约数(递归和非递归)菲波那切数列 不要尝试间接 要使用直接递归(自己调用自己&am…...
【PLC一体机】PLC一体机中如何实现触摸屏和PC电脑的通讯
博主今天准备把之前买的PLC一体机拿出来玩一下,翻看以前的博文,发现没有记录分享PLC一体机中如何实现触摸屏程序下载的内容。 如之前博文介绍的那样,PLC一体机由PLC和触摸屏两部分集成的设备,因此设备内部已经做好了PLC和触摸屏之…...
如何保证订单异步回调的幂等性
保证订单异步回调的幂等性是非常重要的,因为异步通知可能会由于网络问题、支付系统重试或其他原因导致多次发送同一个支付结果通知。以下是一些保证订单异步回调幂等性的常用方法: 接口设计幂等性: 在设计异步通知的接口时,考虑让…...
Linux下vim命令详解
vim #创建或编辑新的文件 #这将在当前目录下创建一个名为fi.txt的新文本文件。如果文件已经存在,将会编辑现有文件。 [rootsever ~]#vim fi.txt #对于普通的文本编辑操作,可以使用以下键盘命令: - i:进入插入模式ÿ…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
python打卡day49@浙大疏锦行
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 一、通道注意力模块复习 & CBAM实现 import torch import torch.nn as nnclass CBAM(nn.Module):def __init__…...
