当前位置: 首页 > 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.什么是缓存雪崩 就是存储在缓存里面的大量数据&#…...

Laravel多租户安全防护完整手册:保护租户数据隔离与访问控制的终极指南

Laravel多租户安全防护完整手册&#xff1a;保护租户数据隔离与访问控制的终极指南 【免费下载链接】multi-tenant Run multiple websites using the same Laravel installation while keeping tenant specific data separated for fully independent multi-domain setups, pre…...

SpringBoot+Vue 学生评奖评优管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL

摘要 随着教育信息化的快速发展&#xff0c;学生评奖评优管理作为高校学生工作的重要组成部分&#xff0c;传统的手工操作模式已难以满足高效、公正、透明的需求。学生评奖评优管理系统通过数字化手段实现评奖流程的自动化&#xff0c;能够有效减少人为干预&#xff0c;提高评…...

计算机组成原理视角:解析GTE-Base-ZH在GPU上的计算与存储

计算机组成原理视角&#xff1a;解析GTE-Base-ZH在GPU上的计算与存储 最近在折腾一些文本嵌入模型&#xff0c;发现大家讨论模型效果的多&#xff0c;但聊它背后在硬件上怎么“跑”起来的少。这就像开车只关心能跑多快&#xff0c;却不看发动机是怎么工作的。今天&#xff0c;…...

PyTorch 2.9 镜像部署全攻略:Jupyter和SSH两种方式任你选

PyTorch 2.9 镜像部署全攻略&#xff1a;Jupyter和SSH两种方式任你选 1. PyTorch 2.9 镜像概述 PyTorch 2.9 是一个开源的 Python 机器学习库&#xff0c;基于 Torch 库开发&#xff0c;底层由 C 实现&#xff0c;广泛应用于人工智能领域&#xff0c;特别是计算机视觉和自然语…...

MinimalUltrasonic:超声波ToF测距库的极简主义实践

1. 项目概述MinimalUltrasonic 是一款专为嵌入式微控制器设计的极简主义超声波测距库&#xff0c;面向 Arduino 生态系统深度优化。其核心设计哲学是“以最小资源开销实现最大功能覆盖”&#xff0c;在保持接口简洁性的同时&#xff0c;提供工业级的鲁棒性、多单位支持与多传感…...

外贸 SEO 中如何进行跨境关键词研究

外贸 SEO 中如何进行跨境关键词研究 在当今全球化的商业环境中&#xff0c;外贸 SEO&#xff08;搜索引擎优化&#xff09;已成为跨境电商企业提升品牌知名度和销售额的重要手段。而在外贸 SEO 中&#xff0c;跨境关键词研究是关键步骤。如何进行有效的跨境关键词研究呢&#…...

阿里云新用户专享:手把手教你用CentOS 7搭建《我的世界》PaperSpigot服务器(含端口配置与后台运行)

阿里云新用户专享&#xff1a;CentOS 7搭建《我的世界》高性能服务器全攻略 第一次在云服务器上搭建《我的世界》服务器时&#xff0c;我被各种专业术语和命令行操作搞得晕头转向。直到发现阿里云新用户的优惠活动&#xff0c;才意识到原来用不到一顿火锅的钱就能拥有专属游戏…...

C语言学习攻略

本人现在是一名非计算机专业学生&#xff0c;以此篇开始我的编程学习之旅。一.为什么学习编程就我最近而言&#xff0c;我们在数学建模竞赛中会因为不会写代码而发愁&#xff0c;虽然我们几个人都是第一次接触这种比赛&#xff0c;但是我作为一个编程手尤其差劲&#xff0c;这驱…...

Vue3+Cesium实战避坑指南:从环境配置到坐标转换的常见问题解析

1. Vue3Cesium环境配置避坑指南 第一次在Vue3项目中集成Cesium时&#xff0c;我踩了不少坑。记得当时光是让地球显示出来就折腾了大半天&#xff0c;各种报错让人抓狂。现在回想起来&#xff0c;其实很多问题都有规律可循。 1.1 正确安装Cesium依赖 新手最容易犯的错误就是直接…...

避坑指南:Qt Modbus TCP开发中自动刷新与写入冲突的排查与修复

Qt Modbus TCP开发实战&#xff1a;自动刷新与写入冲突的深度解决方案 在工业控制系统的HMI界面开发中&#xff0c;实时数据刷新与用户交互操作的平衡是个经典难题。上周调试一个智能仓储监控系统时&#xff0c;就遇到了这样的场景&#xff1a;当PLC寄存器数据以500ms间隔自动刷…...