Udsendelse af events i Vue
Som du allerede ved, bevæger data sig fra forældrekomponenter til underkomponenter. Lad os nu se på, hvordan underkomponenter kan kommunikere med forældrekomponenter. Dette gøres ved hjælp af udsendelse af events. Lad os se på det i praksis.
Lad der i forældrekomponenten være en eller anden metode:
methods: {
func() {
alert('xxx');
}
}
Lad os sende denne metode som parameter til underkomponenten:
<template>
<User @show="func" />
</template>
Lad os angive det udsendte event i
indstillingen emits:
export default {
emits: ['show'],
data() {
return {
}
}
}
Lad os nu i underkomponenten lav en knap, som vil håndtere klik på den:
<template>
<button @click="handle">btn</button>
</template>
Lad os lave en klikhåndterer:
methods: {
handle() {
}
}
Lad os nu i klikhåndtereren
få den forældre metode
til at blive kaldt. For at gøre dette udsender vi
et event ved hjælp af funktionen $emit,
hvor vi angiver navnet på det udsendte
event som parameter:
methods: {
handle() {
this.$emit('show');
}
}
Send to funktioner til underkomponenten. Lav to knapper i underkomponenten, hvor hver af dem vil kalde en af de sendte funktioner.