ลูกสื่อสาร ขึ้นไป กับพาเรนต์โดย ปล่อยเหตุการณ์ พาเรนต์ฟังพวกมันด้วย @event-name นี่จะเติมเต็มการไหลของข้อมูลแบบทิศทางเดียวของ Vue: props ลงมา เหตุการณ์ขึ้นไป
ปล่อยเหตุการณ์จากคอมโพเนนต์ลูก
<!-- TodoItem.vue -->
<script setup>
const props = defineProps({ todo: Object });
const emit = defineEmits(["delete", "toggle"]); // declare the events you emit
function onDelete() {
emit("delete", props.todo.id); // emit an event WITH a payload
}
</script>
<template>
<li>
{{ todo.text }}
<button @click="onDelete">Delete</button>
<button @click="emit('toggle', todo.id)">Toggle</button>
</li>
</template>
