广告
返回顶部
首页 > 资讯 > 精选 >Vue父子组件之间事件通信怎么实现
  • 504
分享到

Vue父子组件之间事件通信怎么实现

2023-07-05 13:07:04 504人浏览 独家记忆
摘要

这篇“Vue父子组件之间事件通信怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue父子组件之间事件通信怎么实现”文

这篇“Vue父子组件之间事件通信怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue父子组件之间事件通信怎么实现”文章吧。

示例解析

使用父组件传递过来的值做一个计数组件的时候,使用v-bind的方式传值,这个时候父子组件间是单向数据流的方式,即子组件无法修改父组件传来的值,所以做计数器组件的时候,子组件只能是拷贝一份父组件传来的值,然后做计数操作,本章我们提供事件的方式实现计数的功能,思想就是,我们修改不了父组件传递过来的值,我们就可以通过事件通知父组件修改这个值:代码如下

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta Http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>父子组件通过事件进行通信</title>    <script src="https://unpkg.com/vue@next"></script></head><body>    <div id="root"></div></body><script> const app = Vue.createApp({    data() {        return {            count:1        }    },    methods:{        handleAddOne(){            this.count += 1;        }    },        template:         `        <div>            <counter :count = "count" @add-one="handleAddOne" />        </div>        `    });    app.component('counter',{        props:['count'],        emits:{            addOne:(count) =>{                if(count > 3){                    alert(count);                    return true;                }                return false;            }        },        methods: {            handleItemClick(){                 this.$emit('addOne',this.count);            }        },        template:`<div @click="handleItemClick">{{count}}</div>`    });    const vm = app.mount('#root');</script></html>

当我们点击显示数字的div时,会执行执行handleItemClick方法,向父组件传递一个add-one事件,并且将目前的count值当成参数传递给父组件,父组件通过@add-one="handleAddOne"监听add-one事件,当收到这个事件后,就执行handleAddOne方法,让count的值加一,然后由于时count的值和子组件又是绑定的,所以这个值也会同步给子组件,这样就会在子组件显示count+1的值。

注意:监听事件,使用“-” 分隔符:如本例中的:@add-one,向外部发送一个事件时用驼峰命名:如本例中的:this.$emit('addOne',this.count);

从代码中我们可以看到从子组件向父组件传递一个事件使用的是$emit()方法,这个方法可以单独传事件如:this.$emit('addOne'); 也可以带参数传递:this.$emit('addOne',2);

另外本例中,我们可以看到这样一段代码:

   emits:{            addOne:(count) =>{                if(count > 3){                    alert(count);                    return true;                }                return false;            }        },

其实这里是便于让代码的阅读者能通过emmits关键字快速知道本组件会向外传递哪些事件,毕竟组件多了后,会有一堆事件,在代码中一个个看的确比较费劲,这个模块还有一个功能就是校验我们可以在里面判断父组件传递过来的值,然后做些想做的操作。

以上就是关于“Vue父子组件之间事件通信怎么实现”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Vue父子组件之间事件通信怎么实现

本文链接: https://www.lsjlt.com/news/351789.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue父子组件之间事件通信怎么实现
    这篇“Vue父子组件之间事件通信怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue父子组件之间事件通信怎么实现”文...
    99+
    2023-07-05
  • vue父子组件间通信怎么实现
    本篇内容介绍了“vue父子组件间通信怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.父组件传递数据给子组件父组件数据如何传递给子组...
    99+
    2023-07-04
  • Vue父子组件之间事件通信示例解析
    目录前言示例解析总结前言 组件间传值的章节我们知道父组件给子组件传值的时候,使用v-bind的方式定义一个属性传值,子组件根据这个属性名去接收父组件的值,但是假如子组件想给父组件一些...
    99+
    2023-03-19
    Vue父子组件事件通信 Vue父子组件通信 Vue事件通信
  • vue中怎么实现父子组件间通信
    这篇文章将为大家详细讲解有关vue中怎么实现父子组件间通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。组件间通信($parent $refs)父组件要想获...
    99+
    2022-10-19
  • vue中怎样实现父子组件间通信
    今天就跟大家聊聊有关vue中怎样实现父子组件间通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。建两个组件father.vue和child.vue作...
    99+
    2022-10-19
  • Vue中父子组件间怎么通信的
    本篇内容主要讲解“Vue中父子组件间怎么通信的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中父子组件间怎么通信的”吧!Vue父子组件什么是父子组件?在一个组件中引入另一个组件,被引入的就...
    99+
    2023-06-21
  • Vue如何实现父子组件之间的通信功能
    这篇文章主要为大家展示了“Vue如何实现父子组件之间的通信功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue如何实现父子组件之间的通信功能”这篇文章吧。在...
    99+
    2022-10-19
  • 浅析Vue中父子组件间怎么通信(父传子|子传父)
    1、父组件传递给子组件⭐⭐父组件传递给子组件:通过props属性;【相关推荐:vuejs视频教程、web前端开发】子组件传递给父组件:通过$emit触发事件;  这里我们知道,父组件有一些数据需要子组件来进行展示,那我们可以通过props来...
    99+
    2022-11-22
    组件通信 组件 Vue
  • Vue 中怎么实现非父子组件通信
    这篇文章给大家介绍Vue 中怎么实现非父子组件通信,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Vue 官网介绍了非父子组件通信方法:不过官网说的太简单了,新手看完估计还是一脸懵逼。还...
    99+
    2022-10-19
  • Vue中怎么实现非父子组件通信
    这篇文章将为大家详细讲解有关Vue中怎么实现非父子组件通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。组件是Vue核心的一块内容,组件之间的通信也是很基本...
    99+
    2022-10-19
  • Vue怎么用父组件向子组件通信
    本文小编为大家详细介绍“Vue怎么用父组件向子组件通信”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么用父组件向子组件通信”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。props组件实例的作用域是孤立的...
    99+
    2023-07-04
  • Vue非父子组件之间的通信方式详解
    目录非父子组件的通信1.Provide和Inject1.1基本使用1.2处理响应式数据(了解)2.全局事件总线总结非父子组件的通信 此篇讲解的是, 在学习状态管理之前, 非父子间通信...
    99+
    2022-11-13
  • Vue3父子组件间通信和组件间双向绑定怎么实现
    本篇内容主要讲解“Vue3父子组件间通信和组件间双向绑定怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3父子组件间通信和组件间双向绑定怎么实现”吧!假如确要修改,可以使用下面说的方...
    99+
    2023-07-06
  • 如何用Vue实现父子组件通信
    目录一、父子组件的关系构成二、props三、$emit四、$parent五、总结 一、父子组件的关系构成 本篇文章将要总结的是Vue中父子组件之间的通信方式。 那在vue中父子组件之...
    99+
    2022-11-12
  • Vue组件通信之父传子与子传父详细讲解
    目录父组件传递给子组件浅谈Props子组件传递给父组件父组件传递给子组件 父组件传递给子组件:通过props属性;子组件传递给父组件:通过$emit触发事件; 这里我们知道,父组件...
    99+
    2022-11-13
    Vue组件通信 Vue组件通信父传子 Vue组件通信子传父
  • Vue组件通信之父传子与子传父深入探究
    目录为什么要组件拆分组件拆分的流程子组件中为什么要使用defineComponent方法父传子父组件子组件子传父子组件父组件provide和inject方法传递数据的组件子组件孙子组...
    99+
    2022-12-08
    Vue组件通信几种方式 Vue组件通信实现
  • vue父子组件间怎么进行通讯
    本文小编为大家详细介绍“vue父子组件间怎么进行通讯”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue父子组件间怎么进行通讯”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。如何解决组件之间通讯呢?解决方案:可以...
    99+
    2023-06-30
  • Vue中怎么利用父组件向子组件通信
    今天就跟大家聊聊有关Vue中怎么利用父组件向子组件通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。props组件实例的作用域是孤立的。子组件的模板...
    99+
    2022-10-19
  • Angular2如何实现父子组件之间共享服务通信
    小编给大家分享一下Angular2如何实现父子组件之间共享服务通信,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!第一步:定义服务parentService.ts1).这里用Injectab...
    99+
    2022-10-19
  • Vue中父子组件间通信的方法是什么
    这篇文章主要讲解了“Vue中父子组件间通信的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中父子组件间通信的方法是什么”吧!1、父组件传递给子组件父组件传递给子组件:通过pr...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作