Vue组件:使用$emit()方法监听子组件事件

1、监听自定义事件

父组件通过使用 Prop 为子组件传递数据,但如果子组件要把数据传递回去,就需要使用自定义事件来实现。父组件可以通过 v-on 指令(简写形式"@")监听子组件实例的自定义事件,而子组件可以通过调用内建的 $emit() 方法并传入事件名称来触发自定义事件。

组件之间的数据传递:

父传子:使用 Props 属性。

子传父:使用 $emit() 方法。

$emit() 方法的语法格式如下:

javascript 复制代码
this.$emit( eventName, [...args] )

参数说明:

eventName:传入事件的名称。

...args\]:触发事件传递的参数,该参数是非必选。 **【实例】**使用$emit()方法,实现子组件向父组件传递事件。 **(1)创建 ParentComponent.vue 父组件** ```html ``` **(2)创建 ChildComponent.vue 子组件** ```html ``` **(3)在 App.vue 根组件中,引入父组件** ```html ``` **执行结果:** ![](https://i-blog.csdnimg.cn/direct/cc511f9acf3b4337b9b1571398446bd3.png) ## 2、组件事件配合 v-model 指令 如果是在子组件中用户输入数据,我们希望在获取数据的同时发生数据给父组件,这是可以配合 v-model 指令使用。 **【实例】**子组件中用户输入数据,在父组件中实时获取数据。 **(1)修改 ParentComponent.vue 父组件** ```html ``` **(2)修改 ChildComponent.vue 子组件** ```html ``` **执行结果:** ![](https://i-blog.csdnimg.cn/direct/c45e3fa00e13476db3a7192be19a909b.png)

相关推荐
PineappleCoder1 天前
还在重复下载资源?HTTP 缓存让二次访问 “零请求”,用户体验翻倍
前端·性能优化
拉不动的猪1 天前
webpack编译中为什么不建议load替换ast中节点删除consolg.log
前端·javascript·webpack
李姆斯1 天前
Agent时代下,ToB前端的UI和交互会往哪走?
前端·agent·交互设计
源码获取_wx:Fegn08951 天前
基于springboot + vue健身房管理系统
java·开发语言·前端·vue.js·spring boot·后端·spring
闲谈共视1 天前
基于去中心化社交与AI智能服务的Web钱包商业开发的可行性
前端·人工智能·去中心化·区块链
CreasyChan1 天前
C# 反射详解
开发语言·前端·windows·unity·c#·游戏开发
JIngJaneIL1 天前
基于Java+ vue智慧医药系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
+VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
阿蒙Amon1 天前
JavaScript学习笔记:6.表达式和运算符
javascript·笔记·学习
hashiqimiya1 天前
两个步骤,打包war,tomcat使用war包
java·服务器·前端