Vue.js props 子组件可以从父组件接收数据(通过 props)并可以向父组件发送事件(通过 $emit)

news2024/9/20 15:15:28

父子组件之间可以通过事件和 props 进行通信,但通常是单向的:父组件向子组件传递数据(props),子组件向父组件发送事件($emit)。

方式

  1. 父组件传递数据给子组件:

    • 使用 props
  2. 子组件通知父组件:

    • 使用 $emit 发送事件。

示例

  • 父组件:

    Vue.component('parent', {
        data() {
            return {
                message: 'Hello from Parent!'
            };
        },
        template: `<child @child-event="handleChildEvent" :message="message"></child>`,
        methods: {
            handleChildEvent(data) {
                console.log(data); // 处理子组件传来的数据
            }
        }
    });
    
  • 子组件:

    Vue.component('child', {
        props: ['message'],
        template: `<div>
            <p>{{ message }}</p>
            <button @click="notifyParent">Notify Parent</button>
        </div>`,
        methods: {
            notifyParent() {
                this.$emit('child-event', 'Message from Child!');
            }
        }
    });
    

下面是一个简单的 Vue.js 示例,展示父子组件之间的交互:

示例代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>父子组件示例</title>
</head>
<body>

<div id="app">
    <parent-component></parent-component>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<script>
    // 子组件
    Vue.component('child-component', {
        props: ['message'],
        template: `
            <div>
                <p>子组件消息: {{ message }}</p>
                <button @click="notifyParent">通知父组件</button>
            </div>
        `,
        methods: {
            notifyParent() {
                this.$emit('child-event', '来自子组件的消息!');
            }
        }
    });

    // 父组件
    Vue.component('parent-component', {
        data() {
            return {
                parentMessage: '来自父组件的消息!'
            };
        },
        template: `
            <div>
                <h1>父组件</h1>
                <child-component :message="parentMessage" @child-event="handleChildEvent"></child-component>
            </div>
        `,
        methods: {
            handleChildEvent(data) {
                alert(data); // 弹出子组件发送的消息
            }
        }
    });

    // 创建 Vue 实例
    new Vue({
        el: '#app'
    });
</script>

</body>
</html>

功能说明

  • 父组件: 显示一条消息,并将其传递给子组件。
  • 子组件: 接收父组件的消息,并提供一个按钮,点击后通过 $emit 触发事件,将消息传回父组件。
  • 事件处理: 父组件处理子组件的事件,弹出一个提示框显示消息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2149233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字化转型中的企业蓝图构建:基于业务能力建模的全面解读与战略实施指南

随着企业数字化转型的不断深入&#xff0c;业务复杂性和技术需求的多样化推动了企业架构的新变革。为了应对日益复杂的市场环境&#xff0c;如何构建清晰、稳定的业务蓝图成为企业成败的关键。《业务能力指南》为此提供了系统的框架和指导&#xff0c;帮助企业通过业务能力建模…

谷歌女高管被裁员,3份兼职越干越开心!55岁正是闯的年纪!

在职场的金字塔顶端&#xff0c;那些大龄女性高管正在面对一场无形却深刻的危机。曾经&#xff0c;她们凭借坚定的决心和无畏的勇气&#xff0c;在职场中披荆斩棘&#xff0c;闯出了一片天地。 现代职场的年轻化和技术更新正将她们逐渐推向边缘。裁员通知的突如其来&#xff0…

Vue3.0组合式API:使用ref获取DOM元素

Vue3.0组合式API系列文章&#xff1a; 《Vue3.0组合式API&#xff1a;setup()函数》 《Vue3.0组合式API&#xff1a;使用reactive()、ref()创建响应式代理对象》 《Vue3.0组合式API&#xff1a;computed计算属性、watch监听器、watchEffect高级监听器》 《Vue3.0组合式API&…

Go语言grequests库并发请求的实战案例

在当今快速发展的互联网时代&#xff0c;数据的获取和处理速度成为了衡量一个系统性能的重要标准。Go语言以其并发处理能力而闻名&#xff0c;而grequests库则为Go语言的HTTP请求提供了简洁易用的API。本文将通过一个实战案例&#xff0c;介绍如何使用Go语言的grequests库来实现…

卖家必看:利用亚马逊自养号测评精选热门产品,增强店铺权重

在亚马逊的商业版图中&#xff0c;选品始终占据着核心地位&#xff0c;是贯穿其经营策略的永恒旋律。一个商品能否脱颖而出&#xff0c;成为市场中的明星爆款&#xff0c;其关键在于卖家对产品的精挑细选&#xff0c;这一环节的重要性不言而喻&#xff0c;是决定胜负的关键所在…

C++笔记21•C++11的新特性•

相比于 C98/03&#xff0c;C11则带来了数量可观的变化&#xff0c;其中包含了约140个新特性&#xff0c;以及对C03标准中约600个缺陷的修正&#xff0c;这使得C11更像是从C98/03中孕育出的一种新语言。相比较而言&#xff0c;C11能更好地用于系统开发和库开发、语法更加泛华和简…

【C语言】自定义类型——结构体

目录 一、结构体的类型的声明 二、结构体变量的创建和初始化 三、匿名结构体类型 四、结构体自引用 五、结构体内存对齐 &#xff08;1&#xff09;对齐规则 &#xff08;2&#xff09;计算结构体大小练习 &#xff08;3&#xff09;需要内存对齐的原因 &#xff08;4…

Eigen3 教程基础篇(三)

参考 Eigen3 主页&#xff0c;Eigen3 官网教程 矩阵的本质&#xff0c;通过多种矩阵的应用去感受矩阵本质 3Blue1Brown 的线性代数&#xff0c;用可视化方法来表现线性代数的特性&#xff0c;强推 如何理解复数和虚数&#xff0c;有动画方便理解复数的意义 相关文章 Eigen…

基于SpringBoot+Vue+MySQL的在线宠物用品商城销售系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着人们生活质量的提升和宠物经济的蓬勃发展&#xff0c;宠物已成为众多家庭不可或缺的一员。宠物市场的需求日益增长&#xff0c;涵盖了食品、用品、医疗、美容等多个领域。基于SpringBootVueMySQL的在线宠物用品商城销售系统…

新产品,推出 MLX90372GVS 第三代 Triaxis® 位置传感器 IC,适用于汽车和工业系统(MLX90372GVS-ACE-308)

Triaxis 旋转和线性位置传感器IC&#xff1a; MLX90372GVS-ACE-103 MLX90372GVS-ACE-108 MLX90372GVS-ACE-301 MLX90372GVS-ACE-200 MLX90372GVS-ACE-208 MLX90372GVS-ACE-303 MLX90372GVS-ACE-300 MLX90372GVS-ACE-350 MLX90372GVS-ACE-100 MLX90372GVS-ACE-101 MLX90372GVS-…

【Java算法】二叉树的深搜

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【算法工作坊】算法实战揭秘 一.2331.计算布尔二叉树的值 题目链接&#xff1a;2331.计算布尔二叉树的值 代码 public boolean evaluateTree(TreeNode root) {if(root.leftnull){return root.val0?f…

VSCode值得推荐的插件(持续更新中)

VSCode值得推荐的插件&#xff08;持续更新中&#xff09; 说明1.Peacock 说明 主要记录VSCode开发过程中插件 1.Peacock 允许开发者为 Visual Studio Code 的工作区界面&#xff08;如侧边栏、底栏和标题栏&#xff09;自定义颜色&#xff0c;以区分不同的项目或编码环境。…

【machine learning-七-线性回归之成本函数】

监督学习之cost function 成本函数权重、偏置如何实现拟合数据成本函数是如何寻找出来w和b&#xff0c;使成本函数值最小化&#xff1f; 在线性回归中&#xff0c;我们说到评估模型训练中好坏的一个方法&#xff0c;是用成本函数来衡量&#xff0c;下面来详细介绍一下 成本函数…

需求3:照猫画虎

说起写需求&#xff0c;其实对于我这种小白而言&#xff0c;接到一个需求&#xff0c;最好的方式就是照猫画虎。 因为我从0到1写&#xff0c;以我现在这种水平&#xff0c;根本就不可能完成。所以照猫画虎&#xff0c;模仿着来写是最好的提升方法。 之前在聊天的时候&#xf…

记录|如何对批量型的pictureBox组件进行批量Image设置

目录 前言一、问题表述二、批量化处理更新时间 前言 参考文章&#xff1a; 一、问题表述 问题就是上图所示&#xff0c;这些的命名风格统一&#xff0c;只是最后的数字是不同的。所以存在可以批量化进行处理的可能性。 二、批量化处理 private void SetPictureBoxImages(){for…

Flat File端口更新:如何实现嵌套结构

Flat File端口可以实现平面文件和XML文件的互相转换&#xff0c;本文主要介绍在知行之桥EDI系统8971及更高版本中&#xff0c;Flat File端口如何支持类似EDI嵌套结构的转换。 Flatfile端口如何自定义嵌套结构 下载示例工作流以及示例文件 打开知行之桥EDI系统&#xff0c;创建…

OpenCV特征检测(1)检测图像中的线段的类LineSegmentDe()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 检测图像中线段的类.。 遵循在 285中描述的算法。 函数原型1 绘制两组线&#xff0c;一组用蓝色&#xff0c;一组用红色&#xff0c;并计算非重…

[云服务器12] 搭建eaglercraft网页MC

众所周知&#xff0c;MC是一个炒鸡好玩的游戏&#xff01; 但是&#xff0c;Mojang开发出来是经过Java JAR打包过的的.jar文件&#xff0c;这就不得不依赖HMCL PCL BakaXL等启动器来启动了…… 所以今天&#xff0c;我们将使用开源的eaglercraft来搭建一个在线版MC&#xff0…

鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别

一、介绍 鸟类识别系统。本系统采用Python作为主要开发语言&#xff0c;通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型&#xff0c;然后进行模型的迭代训练&#xff0c;得到一个识别精度较高的模型&#xff0c;然后在…

【VUE3.0】动手做一套像素风的前端UI组件库---Button

目录 引言做之前先仔细看看UI设计稿解读一下都有哪些元素&#xff1a;素材补充 代码编写1. 按钮四周边框2. 默认状态下按钮颜色立体效果3. 鼠标移入聚焦4. 模拟鼠标点击效果 组件封装1. 按类型设置颜色2. 设置按钮禁用状态3. 处理一个bug4. 看下整体组件效果5. 组件完整代码6. …