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

vue中子传父之间通信(this.$emit触发父组件方法和.sync修饰符与$emit(update:xxx))

文章目录

  • 前言
  • 一、通过this.$emit触发父组件方法实现
  • 二、.sync修饰符与$emit(update:xxx)


前言

看了几篇帖子,都没有将$emit两种用法汇聚总结在一起。需要额外的浪费时间去查看其他帖子,索性自己总结一下,方便以后查看。


一、通过this.$emit触发父组件方法实现

这种方法调用是我平常最熟悉的,通过触发事件使父组件拿到子组件传递过来的值。

//父组件,将定义的方法传递给子元素
<template><div class="father"><h1>我是父组件</h1><Son :msg="msg" @changeMsg="changeMsg"/></div>
</template><script>
import Son from '@/components/Son.vue'export default {name: 'Father',components: {Son},data(){return{msg:1}}methods:{changeMsg(text,num){console.log(text,num);this.msg=this.msg+1}},
}
</script>//子组件,通过this.$emit触发父组件方法,更改父组件数据,同时可以进行数据传值
<template><div class='son'><h1>我是子组件<button @click="changeFatherData">点我更改父组件数据</button></h1><h1>父组件数据:{{msg}}</h1></div>
</template><script>
export default {name: 'Son',props: {msg: Number,},data(){return{text:"我是子组件数据,我要发送给父组件",num:12}},methods:{changeFatherData(){this.$emit('changeMsg',this.text,this.num)}},
}
</script>

注意
this.$emit(‘changeMsg’,this.text,this.num)
<Son :msg=“msg” @changeMsg=“changeMsg”/>
$emit中的changeMsg方法名称要和@changeMsg名称一样

二、.sync修饰符与$emit(update:xxx)

.sync 修饰符可以实现子组件与父组件的双向绑定,并且可以实现子组件同步修改父组件的值。

//父组件,将定义的方法传递给子元素
<template><div class="father"><h1>我是父组件</h1><Son :msg.sync="message" /></div>
</template><script>
import Son from '@/components/Son.vue'export default {name: 'Father',components: {Son},data(){return{message:1}}
}
</script>//子组件,通过this.$emit触发父组件方法,更改父组件数据,同时可以进行数据传值
<template><div class='son'><h1>我是子组件<button @click="changeFatherData">点我更改父组件数据</button></h1><h1>父组件数据:{{msg}}</h1>  </div>
</template><script>
export default {name: 'Son',props: {msg: Number,},data(){return{num:12}},methods:{changeFatherData(){this.$emit('update:msg',this.num)}},
}
</script>

子组件触发changeFatherData方法,msg信息就会变为12
本质

<son :a.sync="num"></son> 等价于
<son:a="num" @update:a="val => num = val">
</son> 
// 相当于多了一个事件监听,事件名是 update:a,回调函数中,会把接收到的值赋值给属性绑定的数据项中。

参考文字
vue中子组件更改父组件数据
Vue .sync修饰符与$emit(update:xxx)

相关文章:

vue中子传父之间通信(this.$emit触发父组件方法和.sync修饰符与$emit(update:xxx))

文章目录 前言一、通过this.$emit触发父组件方法实现二、.sync修饰符与$emit(update:xxx) 前言 看了几篇帖子&#xff0c;都没有将$emit两种用法汇聚总结在一起。需要额外的浪费时间去查看其他帖子&#xff0c;索性自己总结一下&#xff0c;方便以后查看。 一、通过this.$emit…...

SocketIO 的 html 代码示例

话不多说&#xff0c;以下为前端 SocketIO 代码示例 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"/><title>TestConnect</title><base><script src&quo…...

Vercel Error: (Azure) OpenAI API key not found

题意&#xff1a;Vercel 错误&#xff1a;(Azure) OpenAI API 密钥未找到 问题背景&#xff1a; I implemented openAI API in my Next.js app with the help of langchain library and it works superb on localhost, but in Vercel (ProVersion) it throws an error: 我使用…...

SPSS、Python员工满意度问卷调查激励保健理论研究:决策树、随机森林和AdaBoost|附代码数据

全文链接&#xff1a;https://tecdat.cn/?p37293 原文出处&#xff1a;拓端数据部落公众号 在深入了解公司当前的实际情况和员工内心真实想法的基础上&#xff0c;我们旨在从专业视角出发&#xff0c;为企业在组织管理方面的不足进行诊断&#xff0c;并进行全面审视。 为了…...

常见深度学习优化器总结

Adam 是一种非常流行的优化器&#xff0c;因为它结合了动量和自适应学习率的优点&#xff0c;通常在大多数情况下表现良好。不过&#xff0c;如果你在使用 Adam 时遇到性能问题或希望进一步调优&#xff0c;以下是几种可以考虑的替代优化器&#xff1a; 1. AdamW (Adam with W…...

python并发编程之多线程和多进程

了解过python 编程语言的人&#xff0c;可能很多人都听过&#xff0c;python的多线程是假的。 之所以这么说的原因是因为&#xff0c;大家应该都知道python 是一门解释型语言&#xff0c;在cpython解释器中有一个GIL(Global Interpreter Lock)&#xff0c;全局解释锁&#xff…...

gorm入门——根据条件查询列表

在 GORM 中&#xff0c;你可以通过 Where 方法结合多个条件来查询符合条件的记录列表。Where 方法支持 AND 和 OR 条件&#xff0c;并且可以链式调用以构建复杂的查询。 示例代码&#xff1a; 假设你有一个 User 结构体&#xff0c;并希望根据多个条件查询符合条件的记录列表…...

笔面试编程题总结

8/6诺瓦星云 修改程序 void point(int *p){*p p[2];}; int main() {int c[] {1,2,3,4,5},*p c;point(p1);for(;p <c5;){printf("%d",*p);}return 0; }1、分隔字符串 strtok //c语言 #include <stdio.h> #include <string.h>// 函数声明 char* fin…...

[other][知识]八大行星的英文各是什么?

1、水星英文名 Mercury&#xff0c;水星最接近太阳&#xff0c;是太阳系中体积和质量最小的行星&#xff1b; 2、金星英文名 Venus&#xff0c;太阳系中第六大行星&#xff0c;太阳系中温度最高的行星&#xff0c;中国古代称之为太白或太白金星&#xff1b; 3、地球英文 E…...

如何使用 AWS CLI 创建和运行 EMR 集群

为初学者提供清晰易懂的教程 为初学者提供清晰易懂的教程 Apache Spark 和 AWS EMR 上的 Spark 集群 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 欢迎来到雲闪世界。Spark 被认为是“大数据丛林之王”&#xff0c;在数据分析、机器学习、流媒体和图形…...

HDFS写入数据的流程图

1.客户端向namenode发送请求&#xff0c;请示写入数据 2.namenode接受请求后&#xff0c;判断这个用户是否有写入权限&#xff0c;如果不具备直接报错&#xff1b;如果有写入权限&#xff0c;接着判断在要写入的目录下是否已经存在这个文件&#xff0c;如果存在&#xff0c;直…...

【Material-UI】使用指南:快速入门与核心功能解析

文章目录 一、快速入门1.1 安装和导入1.2 组件的独立性 二、全局设置2.1 响应式元标签2.2 CssBaseline2.3 默认字体 三、响应式设计3.1 Grid系统 四、最佳实践4.1 组件的一致性4.2 性能优化4.3 可访问性 五、总结 Material-UI是一个功能强大且灵活的React UI框架&#xff0c;为…...

【Java 第十三篇章】MyBatis 持久化框架的介绍

一、MyBatis 的历史 MyBatis 的前身是 iBATIS&#xff0c;它最早在 2001年由 Clinton Begin 发起。iBATIS 在早期就因其简单易用和灵活的特性受到了开发者的关注。 随着时间的推移&#xff0c;iBATIS 不断发展和改进。然而&#xff0c;在 2010年&#xff0c;iBATIS 项目团队决…...

AI新应用:概要设计与详细设计自动生成解决方案

近日&#xff0c;CoCode旗下的Co-Project智能项目管理平台V4.0.0升级发布&#xff0c;新增AI生成概要设计和AI生成详细设计功能&#xff0c;大大提高了设计的效率和质量。 CoCode旗下的Co-Project智能项目管理平台 一键智绘蓝图自现 平台设计板块新增概要设计功能&#xff0c;…...

【物联网设备端开发】使用QEMU模拟ESP硬件运行ESP-IDF

目录 一&#xff0c;开发环境搭建 1.1 安装ESP-IDF 1.2 安装vscode插件 1.3 在ESP-IDF插件配置ESP-IDF开发配置 1.4 下载IOTDeviceSDK 设备端开发代码 1.5 通过ESP-IDF插件编译好镜像 1.6 构建QEMU docker镜像 1.7 使用QEMU容器运行镜像 二&#xff0c;搭建QEMU环境步…...

#子传父父传子props和emits #封装的table #vue3

#子传父&父传子props和emits #封装的table #vue3 父组件&#xff1a;emits defineEmits props 子组件&#xff1a; 子组件 <template><el-table v-bind"$attrs" ref"innerTableRef" v-loading"loading" border :data"tabl…...

尚硅谷谷粒商城项目笔记——四、使用docker安装redis【电脑CPU:AMD】

四、使用docker安装redis 注意&#xff1a; 因为电脑是AMD芯片&#xff0c;自己知识储备不够&#xff0c;无法保证和课程中用到的环境一样&#xff0c;所以环境都是自己根据适应硬件软件环境重新配置的&#xff0c;这里的虚拟机使用的是VMware。 在解决了 Docker 安装的问题之…...

Java在无人驾驶方向的就业方向

在无人驾驶领域&#xff0c;Java作为一种主流编程语言&#xff0c;尽管不是最常见的选择&#xff08;例如&#xff0c;C和Python通常更受欢迎&#xff09;&#xff0c;但它仍然有很多应用场景和就业机会。以下是一些Java在无人驾驶方向的就业方向&#xff1a; 1. 后台服务开发 …...

机器学习中的关键距离度量及其应用

引言 在当今的数据驱动世界中&#xff0c;机器学习算法扮演着至关重要的角色&#xff0c;它们在图像分类、面部识别、在线内容审核、零售目录优化和推荐系统等多个领域发挥着重要作用。这些算法的核心在于它们能够识别和利用数据之间的相似性。而实现这一点的关键&#xff0c;…...

Redis中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题

目录 1.什么是缓存雪崩1.1 导致雪崩的原因1.2 如何解决 2.什么是缓存穿透2.1 导致穿透的原因2.2 如何解决 3.什么是缓存预热3.1 如何解决 4.什么是缓存降级4.1 缓存降级的目的4.2 解决方案4.3 服务降级的目的 5.缓存更新 1.什么是缓存雪崩 就是存储在缓存里面的大量数据&#…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...