自定義事件實現子傳父

关键步就几步發表於2024-07-20

父親定義事件,子接收後觸發事件

父:

<template>
  <div class="father">
    父:<br/>
    <!-- 父給子繫結一個事件,事件名叫xxoo,觸發的函式是fuk,需要在父方定義函式fuk -->
    <Child @xxoo="fuk"/>
  </div>
</template>

<script setup lang="ts" name="Father">
 import Child from "./Child.vue";
 import { ref } from 'vue'
  
  function fuk(val){
    alert(val)
  }

</script>

<style scoped>
    .father{
        background-color:rgb(165, 164, 164);
        padding: 20px;
        border-radius: 10px;
    }
</style>

子:

<template>
  <div class="child">
   子:<br/>
   <button @click="emit('xxoo','daye')" >btn</button>
  </div>
</template>

<script setup lang="ts" name="Child">
  import { ref } from 'vue'
// 子接收父定義的事件名xxoo
const emit= defineEmits(['xxoo'])
// 子觸發xxoo事件,後面接引數,也可以在按鈕觸發
emit('xxoo','nima')
</script>

<style scoped>
    .child{
        background-color: skyblue;
        padding: 10px;
        box-shadow: 0 0 10px black;
        border-radius: 10px;
    }
</style>

相關文章