当前位置: 首页 > news >正文

Vue3组件通讯——自定义事件(子->父)

需求如下:

1.在子组件中,当用户点击提交按钮后,更新数据库

2.数据更新成功后,子组件通知父组件getUserInfo函数,重新获取数据,同步更新

3.子组件等待getUserInfo函数执行完毕后,调用init函数,获取父组件更新后的数据

在子组件中,当用户点击提交按钮后,更新数据库

// 提交表单的方法
async function submit() {// 更新用户配置文件const res = await updateUserProfile(form);if (res.code === 200) {ElMessage.success(res.msg);await emitEventAndUpdate() //调用自定义事件} else {ElMessage.error(res.msg || "更新失败");}
}

2.数据更新成功后,子组件通知父组件getUserInfo函数,重新获取数据,同步更新

   在子组件中定义 自定义事件,父组件中定义该事件需要调用的方法

//在子组件中定义自定义事件
const emit = defineEmits(['updateUserProfile']);
//在父组件中,定义该事件所需要调用的方法
<userInfo @updateUserProfile="getUserInfo"/>

3.子组件等待getUserInfo函数执行完毕后,调用init函数,获取父组件更新后的数据

// 在子组件促发事件,并等待父组件处理完成
async function emitEventAndUpdate() {await new Promise((resolve) => {emit('updateUserProfile',resolve); // 将 resolve 传递给父组件});init(); // 等待事件完成后调用 init()
}//父组件处理完成后,执行resolve()表示处理完成
async function getUserInfo(resolve) {const res = await getUserProfile().then(res => {if(res.code==200){Object.assign(user,res.data)userStore.setUserInfo(toRaw(user))}});resolve(); //调用 resolve 表示事件处理完成
};

相关文章:

Vue3组件通讯——自定义事件(子->父)

需求如下&#xff1a; 1.在子组件中&#xff0c;当用户点击提交按钮后&#xff0c;更新数据库 2.数据更新成功后&#xff0c;子组件通知父组件getUserInfo函数&#xff0c;重新获取数据&#xff0c;同步更新 3.子组件等待getUserInfo函数执行完毕后&#xff0c;调用init函数…...

GLSL 着色器语言

GLSL 着色器语言 1. 着色器语言基础1.1 数据类型1.2 数据类型的基本使用1.3 运算符1.4 各个数据类型的构造函数1.5 类型转换1.6 存储限定符1.7 插值限定符1.8 一致块1.9 layout 限定符1.10 流程控制1.11 函数的声明和使用1.12 片元着色器中浮点及整型变量精度的指定1.13 程序的…...

如何创建一个 Vue.js 工程

创建一个 Vue.js 工程 可以分为以下几个步骤&#xff1a; 安装 Node.js 和 npm&#xff1a;Vue.js 依赖于 Node.js 和 npm&#xff0c;因此首先需要在计算机上安装 Node.js 和 npm。可以从 Node.js 的官方网站&#xff08;https://nodejs.org/&#xff09;下载并安装。 安装 V…...

Mysql 性能优化:覆盖索引

概述 覆盖索引&#xff08;Covering Index&#xff09;是一个 MySQL 查询优化技术&#xff0c;它指的是一个索引包含了查询所需的所有字段的数据&#xff0c;因此不需要回表&#xff08;访问数据表的行&#xff09;就可以完成查询。使用覆盖索引可以显著提高查询性能&#xff…...

vulnhub靶场【DC系列】之7

前言 靶机&#xff1a;DC-7&#xff0c;IP地址为192.168.10.13 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.2 都采用VMWare&#xff0c;网卡为桥接模式 对于文章中涉及到的靶场以及工具&#xff0c;我放置在网盘中&#xff0c;链接&#xff1a;https://pan.quark…...

iOS - 消息机制

1. 基本数据结构 // 方法结构 struct method_t {SEL name; // 方法名const char *types; // 类型编码IMP imp; // 方法实现 };// 类结构 struct objc_class {Class isa;Class superclass;cache_t cache; // 方法缓存class_data_bits_t bits; // 类的方法…...

Wireshark 学习笔记1

1.wireshark是什么 wireshark是一个可以进行数据包的捕获和分析的软件 2.基本使用过程 &#xff08;1&#xff09;选择合适的网卡 &#xff08;2&#xff09;开始捕获数据包 &#xff08;3&#xff09;过滤掉无用的数据包 &#xff08;4&#xff09;将捕获到的数据包保存为文件…...

Oracle OCP考试常见问题之线上考试流程

首先要注意的是&#xff1a;虽然Oracle官方在国际上取消了获得OCP认证需要培训记录的要求&#xff0c;但在中国区&#xff0c;考生仍然需要参加Oracle的官方或者其合作伙伴组织的培训&#xff0c;并且由Oracle授权培训中心向Oracle提交学员培训记录。考生只有在完成培训并通过考…...

微信小程序之历史上的今天

微信小程序之历史上的今天 需求描述 今天我们再来做一个小程序&#xff0c;主要是搜索历史上的今天发生了哪些大事&#xff0c;结果如下 当天的历史事件或者根据事件选择的历史事件的列表&#xff1a; 点击某个详细的历史事件以后看到详细信息&#xff1a; API申请和小程序…...

记一次k8s下容器启动失败,容器无日志问题排查

问题 背景 本地开发时&#xff0c;某应用增加logback-spring.xml配置文件&#xff0c;加入必要的依赖&#xff1a; <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>8…...

【HarmonyOS】纯血鸿蒙真实项目开发---经验总结贴

项目场景&#xff1a; 将已有的Web网页接入到原生App。 涉及到一些网页回退、webviewController执行时机报错1710000001、位置定位数据获取、拉起呼叫页面、系统分享能力使用等。 问题描述 我们在选项卡组件中&#xff0c;在每个TabContent内容页中使用web组件加载网页。 在…...

kettle做增量同步,出现报错:Unrecognized VM option ‘MaxPermSize-256m‘

本文内容来自YashanDB官网&#xff0c;原文内容请见&#xff1a;https://yashandb.com/newsinfo/7863039.html?templateId1718516 问题现象 kettle在增量同步过程&#xff0c;出现报错&#xff1a;Unrecognized VM option ‘MaxPermSize256m’ 问题的风险及影响 无法使用ke…...

网络安全、Web安全、渗透测试之笔经面经总结(三)

本篇文章涉及的知识点有如下几方面&#xff1a; 1.什么是WebShell? 2.什么是网络钓鱼&#xff1f; 3.你获取网络安全知识途径有哪些&#xff1f; 4.什么是CC攻击&#xff1f; 5.Web服务器被入侵后&#xff0c;怎样进行排查&#xff1f; 6.dll文件是什么意思&#xff0c;有什么…...

计算机的错误计算(二百零五)

摘要 基于一位读者的问题&#xff0c;提出题目&#xff1a;能用数值计算证明 吗&#xff1f;请选用不同的点&#xff08;即差别大的数&#xff09;与不同的精度。实验表明&#xff0c;大模型理解了题意。但是&#xff0c;其推理能力值得商榷。 例1. 就摘要中问题&#xff0…...

Vue3(一)

1.Vue3概述 Vue3的API由Vue2的选项式API改为了组合式API。但是&#xff0c;也是Vue2中的选项式API也是兼容的。 2.创建Vue3项目 create-vue 是 Vue 官方新的脚手架工具&#xff0c;底层切换到了 vite。使用create-vue创建项目的步骤如下&#xff1a; 安装 create-vue npm i…...

【项目】修改远程仓库地址、报错jdk

一、修改远程仓库地址 进入你刚刚克隆到本地的仓库目录&#xff0c;执行以下命令来修改远程仓库的 URL&#xff0c;将其指向你自己的新仓库&#xff1a; cd 原仓库名 git remote set-url origin <你自己的新仓库的 Git 地址>补充&#xff1a; 错误分析&#xff1a; wa…...

实训云上搭建集群

文章目录 1. 登录实训云1.1 实训云网址1.2 登录实训云 2. 创建网络2.1 网络概述2.2 创建步骤 3. 创建路由器3.1 路由器名称3.1 创建路由器3.3 查看网络拓扑 4. 连接子网5. 创建虚拟网卡5.1 创建原因5.2 查看端口5.3 创建虚拟网卡 6. 管理安全组规则6.1 为什么要管理安全组规则6…...

豆包ai 生成动态tree 增、删、改以及上移下移 html+jquery

[豆包ai 生成动态tree 增、删、改以及上移下移 htmljquery) 人工Ai 编程 推荐一Kimi https://kimi.moonshot.cn/ 推荐二 豆包https://www.doubao.com/ 实现效果图 html 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF…...

【网络协议】IPv4 地址分配 - 第二部分

前言 在第 1 部分中&#xff0c;我们学习了 IPv4 地址的分配方式&#xff0c;了解了各种类型的 IPv4 地址&#xff0c;并进行了基础的子网划分&#xff08;Subnetting&#xff09;。在第 2 部分中&#xff0c;我们将继续学习子网划分&#xff0c;并引入一些新的概念。 【网络…...

攻防世界 bug

发现有Register界面&#xff0c;先去注册 登录以后发现以下界面&#xff0c;点击Manage显示you are not admin&#xff0c;并且在注册界面用admin为注册名时显示用户名已存在。初步推测是设法改变admin的密码取得权限。 在主界面一通操作并没有什么发现&#xff0c;去findpw…...

# 系列文3:前后端彻底解耦!统一入参解析,前端只发JSON,后端随意

系列文3&#xff1a;前后端彻底解耦&#xff01;统一入参解析&#xff0c;前端只发JSON&#xff0c;后端随意 非科班野生程序员&#xff0c;深耕政务信息化20年&#xff0c;这套自研Java Web框架支撑过省级新农保、全国跨省医保结算等核心民生系统&#xff0c;18年稳定运行至今…...

2026年智能码牌服务商,究竟合不合法合规?

在数字支付行业蓬勃发展的今天&#xff0c;智能码牌服务商逐渐成为市场的焦点。随着2026年的到来&#xff0c;人们对于这些服务商的合法合规性愈发关注。以财联支付为例&#xff0c;我们来深入探讨智能码牌服务商的合法合规性问题。一、合法合规的基础&#xff1a;技术与资质双…...

AudioSeal Pixel Studio效果展示:蓝牙传输(SBC编码)后水印留存实测

AudioSeal Pixel Studio效果展示&#xff1a;蓝牙传输&#xff08;SBC编码&#xff09;后水印留存实测 1. 引言&#xff1a;当隐形水印遇上蓝牙传输 想象一下&#xff0c;你为一段重要的音频文件加上了数字水印&#xff0c;就像给它盖上了一枚隐形的数字印章。这枚印章能证明…...

后悔没早看!敏感肌日常修护全攻略,轻松养出健康厚脸皮✨

后悔没早看&#xff01;敏感肌日常修护全攻略&#xff0c;轻松养出健康厚脸皮✨集美们&#xff01;谁懂啊&#x1f979; 作为天生的薄皮敏感肌&#xff0c;换季泛红、刷酸烂脸、遇热就红通通这些破事我全中&#xff01;折腾了五六年&#xff0c;踩了无数坑&#xff0c;终于总结…...

智能相册管理:OpenClaw+Phi-3-vision-128k-instruct自动分类家庭照片

智能相册管理&#xff1a;OpenClawPhi-3-vision-128k-instruct自动分类家庭照片 1. 为什么需要智能相册管理&#xff1f; 每次打开手机相册&#xff0c;看到上万张杂乱无章的照片时&#xff0c;我都感到一阵头疼。孩子的成长瞬间、家庭旅行、朋友聚会全都混在一起&#xff0c…...

OpenClaw+Phi-3-mini-128k-instruct:自动化竞品分析报告生成器

OpenClawPhi-3-mini-128k-instruct&#xff1a;自动化竞品分析报告生成器 1. 为什么需要自动化竞品分析 作为一位连续创业者&#xff0c;我深知保持市场敏感度的重要性。每周手动检查竞品网站、整理产品更新、制作分析报告&#xff0c;这个过程既耗时又容易遗漏关键信息。直到…...

DigitLed72xx库:工业级MAX7219/7221数码管驱动方案

1. DigitLed72xx 库概述&#xff1a;面向工业级 LED 显示控制的嵌入式驱动框架DigitLed72xx 是一款专为 MAX7219 和 MAX7221 七段数码管显示驱动芯片设计的轻量级、高可靠性嵌入式 C 库。该库并非简单的 Arduino 封装&#xff0c;其底层架构深度适配硬件 SPI 外设&#xff0c;支…...

AI群演请就位—个人博客(一)

项目背景随着大语言模型能力的提升&#xff0c;AI在内容生成与互动体验中的应用日益广泛。传统互动叙事类产品&#xff08;如互动小说、角色扮演游戏&#xff09;主要依赖预设脚本与有限分支选择&#xff0c;存在剧情固化、重复体验感强、角色缺乏真实感等问题。大语言模型的出…...

SparkFun Qwiic OLED Arduino图形库深度解析

1. 项目概述 SparkFun Qwiic OLED Arduino Library 是一个面向嵌入式显示应用的轻量级、高效率图形驱动库&#xff0c;专为 SparkFun 全系列基于 SSD1306 控制器的 Qwiic 接口 OLED 模块设计。该库并非简单封装&#xff0c;而是从底层硬件抽象层出发&#xff0c;重构了图形渲染…...

OpenClaw安全实践:Gemma-3-12b-it本地化保障敏感数据处理

OpenClaw安全实践&#xff1a;Gemma-3-12b-it本地化保障敏感数据处理 1. 为什么选择本地化部署 去年我在处理一批财务数据时&#xff0c;曾尝试使用某云端大模型服务进行报表分析。当系统提示"您的数据将被传输至第三方服务器进行处理"时&#xff0c;那种对敏感信息…...