Vue3 ts 自定义组件 子传父

自定义组件

子组件触发,父组件接收

@xx=yy

自定义事件,子组件触发xx事件,父组件调用yy方法

1、触发(子组件)

a、核心

// [] 可以是多个事件
let emit = defineEmits(["send-age", ])
// 触发
emit("send-age", 666)

b、案例

<template> 
</template>

<script setup lang="ts" name="Student">
import { onMounted } from 'vue';
// [] 可以是多个事件
let emit = defineEmits(["send-age", ])
onMounted(()=>{
    setTimeout(() => {
        emit("send-age", 666)
    }, 3000);
})
</script>

<style>

</style>

2、接受(父组件)

a、核心

<!-- 自定义事件 -->
<Student @send-age="getAge"/>
function getAge(val:any){
    xxx
}

b、案例

<script setup lang="ts" name="App">
import { ref } from 'vue';
import Student from './components/Student.vue';
let num = ref(0)
function getAge(val:any){
    num.value = val
}
</script>

<template>
    <!-- 自定义事件 -->
  <Student @send-age="getAge"/>
  <hr>
  <h2>测试:{{ num }}</h2>  
</template>

<style scoped>

</style>

 

posted @ 2025-03-17 19:40  市丸银  阅读(92)  评论(0)    收藏  举报