『VUE』24. 组件事件之子组件传递数据给父组件(详细图文注释)

embedded/2024/11/14 12:39:47/

目录

    • 测试回调函数
    • 使用回调函数拿到数据
    • 黄色警告的解决
    • 总结


欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中

测试回调函数

子组件中@click="clickEventHandle",通过this.$emit("someEvent");表示在父组件的someEvent方法中可以使用子组件的数据
父组件中<ComponentEventSon @someEvent="GetHandle" />来调用子组件,这里的@someEvent而不是传统的@click,在GetHandle()方法中可以调动子组件的数据.

ComponentEvent.vue

<template><h3>组件事件父节点</h3><ComponentEventSon @someEvent="GetHandle" />
</template><script>javascript">
import ComponentEventSon from "./ComponentEventSon.vue";export default {components: {ComponentEventSon,},methods: {GetHandle() {//@someEvent="GetHandle"使得GetHandle方法内可以拿到子组件的回调数据console.log("准备接收其他组件数据");},},
};
</script>

ComponentEventSon.vue

<template><h3>组件事件子节点</h3><button @click="clickEventHandle">接收其他组件数据</button>
</template><script>javascript">
export default {methods: {clickEventHandle() {//自定义事件this.$emit("someEvent");//自定义事件和数据//   this.$emit("someEvent", "需要传递给父组件的数据");},},
};
</script>

在这里插入图片描述


使用回调函数拿到数据

this.$emit(“someEvent”, this.message);中someEvent是表示父组件用什么属性绑定回调方法,this.message是要传给父组件的数据

ComponentEventSon.vue

<template><h3>组件事件子节点</h3><button @click="clickEventHandle">接收其他组件数据</button>
</template><script>javascript">
export default {data() {return {message: "需要传递给父组件的数据",};},methods: {clickEventHandle() {//自定义事件//   this.$emit("someEvent");//自定义事件和数据this.$emit("someEvent", this.message);},},
};
</script>

ComponentEvent.vue

<template><h3>组件事件父节点</h3><ComponentEventSon @someEvent="GetHandle" /><div>{{ message }}</div>
</template><script>javascript">
import ComponentEventSon from "./ComponentEventSon.vue";export default {data() {return {message: "",};},components: {ComponentEventSon,},methods: {// 前面 this.$emit("someEvent", "需要传递给父组件的数据");// data就是"需要传递给父组件的数据"GetHandle(data) {//@someEvent="GetHandle"使得GetHandle方法内可以拿到子组件的回调数据console.log("准备接收其他组件数据");this.message = data;console.log("this.message", this.message);},},
};
</script>

在这里插入图片描述


黄色警告的解决

在这里插入图片描述
在子组件export default添加 emits: ["someEvent"],

<template><h3>组件事件子节点</h3><button @click="clickEventHandle">接收其他组件数据</button>
</template><script>javascript">
export default {emits: ["someEvent"],data() {return {message: "需要传递给父组件的数据",};},methods: {clickEventHandle() {//自定义事件//   this.$emit("someEvent");//自定义事件和数据this.$emit("someEvent", this.message);},},
};
</script>

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2024 mzh

Crated:2024-3-1

欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中
『未完待续』



http://www.ppmy.cn/embedded/137214.html

相关文章

微软日志丢失事件敲响安全警钟

NEWS | 事件回顾 最近&#xff0c;全球最大的软件公司之一——微软&#xff0c;遭遇了一场罕见的日志丢失危机。据报告&#xff0c;从9月2日至9月19日&#xff0c;持续长达两周的时间里&#xff0c;微软的多项核心云服务&#xff0c;包括身份验证平台Microsoft Entra、安全信息…

WSL2 中大模型环境一步到位!(wsl --update 不好使/wsl2安装/python环境)

前言 需要在WSL上玩深度学习&#xff0c;需要以下几个条件 win11&#xff0c;最好更新到最新版本电脑上有显卡&#xff0c;Nvdiawindows上安装显卡驱动及CUDA和CuDNN安装WSL2WLS2安装好Ubuntu20.04&#xff08;其他版本大概率有很多坑&#xff09; 在进行前在你的 cmd 执行下…

使用Python Flask构建Web应用

Flask 是一个轻量级的 Python Web 框架,以其灵活性和易用性受到开发者的喜爱。本文将详细介绍 Flask 的基本概念、安装方法、路由和视图函数、模板引擎、表单处理、数据库集成等内容,并通过一个具体的示例来展示如何使用 Flask 构建一个简单的博客应用。 1. Flask 概述 Fla…

「IDE」集成开发环境专栏目录大纲

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「IDE」集成开发环境&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

显示器接口种类 | 附图片

显示器接口类型主要包括VGA、DVI、HDMI、DP和USB Type-C等。 VGA、DVI、HDMI、DP和USB Type-C 1. 观察 VGA接口:15针 DP接口&#xff1a;在DP接口旁&#xff0c;都有一个“D”型的标志。 电脑主机&#xff1a;DP(D) 显示器&#xff1a;VGA(15针) Ref https://cloud.tenc…

Swift 开发教程系列 - 第9章:错误处理

在 Swift 中&#xff0c;错误处理是一种用于应对可能出错的情况的机制。Swift 提供了多种错误处理方式&#xff0c;以确保应用程序在遇到错误时不会崩溃。本章将介绍如何定义和抛出错误、处理错误、使用 do-catch 语句、try?、try! 以及自定义错误类型。 9.1 定义和抛出错误 …

[Linux] 进程间通信

进程间通信&#xff08;Inter-Process Communication, IPC&#xff09;是指不同进程之间的数据交换与协作。在Linux中&#xff0c;进程间通信有多种方式&#xff0c;每种方式都有其适用的场景。本文将介绍Linux中常见的几种进程间通信方法&#xff1a;管道&#xff08;Pipe&…

GitLab 中文发行版最新版重点功能解读

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料&#xff1a; 极狐GitLab 官网极狐…