Vue自定义事件 简单案例

文章讲述了在Vue中如何通过自定义事件和props进行父子组件间的通信。父组件通过props将数据money传递给子组件,子组件通过$emit触发waste事件,传递修改后的money值回父组件更新状态。这种方式允许数据单向流动,符合Vue的设计原则。
摘要由CSDN通过智能技术生成

首先我们在APP.vue组件中有如下

<template>
  <div id="app">
 <h2>小明的爸爸现状有{{money}}元</h2>
 <childComp :money="money" @waste="money = $event"></childComp>
  </div>
</template>

首先我们通过 prop 从父组件将数据传递给子组件

同时,监听子组件抛出的 waste 事件,当事件触发时,更新父组件的 money 数据为事件的参数 $event。

子组件中有如下代码

  <button @click="$emit('waste',money-100)">-100</button>

当然使用methods更为好理解

 <button @click="decMoney">-100</button>



methods: {
  decMoney(){
   this.$emit('waste',this.money-100)
  }
},

在按钮的 click 事件中,通过 $emit() 派发 waste 自定义事件,并传递事件参数 money - 100。

总结:

自定义事件是 Vue 中实现组件间通信的一种方式。它具有以下特征:- 事件由组件触发,使用 this.$emit() 方法,并传入事件名称和参数
- 事件由另一个组件监听,使用 @eventname="handler" 的语法
- 事件允许数据从触发事件的组件流向监听事件的组件
- 事件名称是开发者自定义的,不是原生 DOM 事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值