vue3组件通信
  F3TU0Ov9x7dG 2023年12月08日 27 0

子传父$emit

在vue框架中事件分为两种:一种是原生的DOM事件,另外一种自定义事件。

原生DOM事件可以让用户与网页进行交互,比如click、change、mouseenter、mouseleave...

自定义事件可以实现子组件给父组件传递数据。

vue2中的@click绑定的是自定义事件 ,可以通过.native修饰符变为原生DOM事件 。

vue3中绑定的是原生事件,利用defineEmits方法返回函数触发自定义事件,不需要引入,直接使用。

思路:在子组件上面绑定事件,利用defineEmits方法返回函数触发自定义事件,通过$emit将内容传给父组件上绑定的方法,父组件触发事件,将value进行赋值

子组件

<script step>
 const $emit = defineEmits(['dotChange'])
 const handleClick = ()=>{
   //父组件上绑定的方法
 		$emit('dotChange','传给父组件')
 } 
 </script>
<template>
 		<el-button onClick="handleClick">子组件按钮</el-button> 
 </template>

父组件

<script setup>
 important {ref} from 'vue'
const dot = ref('默认值')
 const $emit = defineEmits(['dotChange'])
 const handleClick = (value)=>{
 		dot.value = value
 } 
 </script>
<template>
 		<div dotChange="handleClick">子组件传过来的:{{ dot }}</div> 
 </template>

vue3组件通信_子传父

点击按钮传递成功!

vue3组件通信_defineEmits_02


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

推荐阅读
F3TU0Ov9x7dG