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) 前言 看了几篇帖子,都没有将$emit两种用法汇聚总结在一起。需要额外的浪费时间去查看其他帖子,索性自己总结一下,方便以后查看。 一、通过this.$emit…...
SocketIO 的 html 代码示例
话不多说,以下为前端 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
题意:Vercel 错误:(Azure) OpenAI API 密钥未找到 问题背景: 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|附代码数据
全文链接:https://tecdat.cn/?p37293 原文出处:拓端数据部落公众号 在深入了解公司当前的实际情况和员工内心真实想法的基础上,我们旨在从专业视角出发,为企业在组织管理方面的不足进行诊断,并进行全面审视。 为了…...
常见深度学习优化器总结
Adam 是一种非常流行的优化器,因为它结合了动量和自适应学习率的优点,通常在大多数情况下表现良好。不过,如果你在使用 Adam 时遇到性能问题或希望进一步调优,以下是几种可以考虑的替代优化器: 1. AdamW (Adam with W…...
python并发编程之多线程和多进程
了解过python 编程语言的人,可能很多人都听过,python的多线程是假的。 之所以这么说的原因是因为,大家应该都知道python 是一门解释型语言,在cpython解释器中有一个GIL(Global Interpreter Lock),全局解释锁ÿ…...
gorm入门——根据条件查询列表
在 GORM 中,你可以通过 Where 方法结合多个条件来查询符合条件的记录列表。Where 方法支持 AND 和 OR 条件,并且可以链式调用以构建复杂的查询。 示例代码: 假设你有一个 User 结构体,并希望根据多个条件查询符合条件的记录列表…...
笔面试编程题总结
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,水星最接近太阳,是太阳系中体积和质量最小的行星; 2、金星英文名 Venus,太阳系中第六大行星,太阳系中温度最高的行星,中国古代称之为太白或太白金星; 3、地球英文 E…...
如何使用 AWS CLI 创建和运行 EMR 集群
为初学者提供清晰易懂的教程 为初学者提供清晰易懂的教程 Apache Spark 和 AWS EMR 上的 Spark 集群 添加图片注释,不超过 140 字(可选) 欢迎来到雲闪世界。Spark 被认为是“大数据丛林之王”,在数据分析、机器学习、流媒体和图形…...
HDFS写入数据的流程图
1.客户端向namenode发送请求,请示写入数据 2.namenode接受请求后,判断这个用户是否有写入权限,如果不具备直接报错;如果有写入权限,接着判断在要写入的目录下是否已经存在这个文件,如果存在,直…...
【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框架,为…...
【Java 第十三篇章】MyBatis 持久化框架的介绍
一、MyBatis 的历史 MyBatis 的前身是 iBATIS,它最早在 2001年由 Clinton Begin 发起。iBATIS 在早期就因其简单易用和灵活的特性受到了开发者的关注。 随着时间的推移,iBATIS 不断发展和改进。然而,在 2010年,iBATIS 项目团队决…...
AI新应用:概要设计与详细设计自动生成解决方案
近日,CoCode旗下的Co-Project智能项目管理平台V4.0.0升级发布,新增AI生成概要设计和AI生成详细设计功能,大大提高了设计的效率和质量。 CoCode旗下的Co-Project智能项目管理平台 一键智绘蓝图自现 平台设计板块新增概要设计功能,…...
【物联网设备端开发】使用QEMU模拟ESP硬件运行ESP-IDF
目录 一,开发环境搭建 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容器运行镜像 二,搭建QEMU环境步…...
#子传父父传子props和emits #封装的table #vue3
#子传父&父传子props和emits #封装的table #vue3 父组件:emits defineEmits props 子组件: 子组件 <template><el-table v-bind"$attrs" ref"innerTableRef" v-loading"loading" border :data"tabl…...
尚硅谷谷粒商城项目笔记——四、使用docker安装redis【电脑CPU:AMD】
四、使用docker安装redis 注意: 因为电脑是AMD芯片,自己知识储备不够,无法保证和课程中用到的环境一样,所以环境都是自己根据适应硬件软件环境重新配置的,这里的虚拟机使用的是VMware。 在解决了 Docker 安装的问题之…...
Java在无人驾驶方向的就业方向
在无人驾驶领域,Java作为一种主流编程语言,尽管不是最常见的选择(例如,C和Python通常更受欢迎),但它仍然有很多应用场景和就业机会。以下是一些Java在无人驾驶方向的就业方向: 1. 后台服务开发 …...
机器学习中的关键距离度量及其应用
引言 在当今的数据驱动世界中,机器学习算法扮演着至关重要的角色,它们在图像分类、面部识别、在线内容审核、零售目录优化和推荐系统等多个领域发挥着重要作用。这些算法的核心在于它们能够识别和利用数据之间的相似性。而实现这一点的关键,…...
Redis中缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
目录 1.什么是缓存雪崩1.1 导致雪崩的原因1.2 如何解决 2.什么是缓存穿透2.1 导致穿透的原因2.2 如何解决 3.什么是缓存预热3.1 如何解决 4.什么是缓存降级4.1 缓存降级的目的4.2 解决方案4.3 服务降级的目的 5.缓存更新 1.什么是缓存雪崩 就是存储在缓存里面的大量数据&#…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
