Vue.js emit: kompletny przewodnik po zdarzeniach komponentów

Vue.js emit: kompletny przewodnik po zdarzeniach komponentów

Vue.js to popularny framework JavaScript do budowania interaktywnych aplikacji webowych. Jedną z jego najmocniejszych stron jest vue js emit, dzięki któremu komponenty wysyłają zdarzenia do swoich rodziców. Ten szczegółowy przewodnik pokaże ci, jak używać vue js emit w kodzie Vue.js.

Czym jest Vue js emit?

$emit to sposób komunikacji między komponentami Vue.js. Pozwala wysyłać zdarzenia od dziecka do rodzica. Oznacza to, że z komponentu potomnego wywołasz akcję w komponencie nadrzędnym.

Po co go używać?

Po emit sięgasz wtedy, gdy chcesz przekazać informacje albo zdarzenia z komponentu potomnego do nadrzędnego. Jeśli na przykład masz formularz w komponencie potomnym i chcesz wysłać jego dane do rodzica, żeby ten je przetworzył, użyjesz do tego emit.

Jak używać Vue js emit?

Użycie emit jest bardzo proste. Najpierw zgłoś zdarzenie w komponencie potomnym metodą $emit(). Oto przykład:

javascript
this.$emit('eventName', data)

eventName to nazwa zdarzenia, a data to dane, które chcesz razem z nim wysłać.

Następnie w komponencie nadrzędnym nasłuchujesz tego zdarzenia dyrektywą v-on:

javascript
<ChildComponent v-on:eventName="eventHandler"/>

eventHandler to metoda wywoływana w chwili wyzwolenia zdarzenia.

Kompletny przykład użycia $emit

Oto pełny przykład pokazujący, jak używać emit w kodzie Vue.js:

javascript
<template>
  <div>
    <ChildComponent @eventName="eventHandler"/>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue'

export default {
  components: {
    ChildComponent
  },
  methods: {
    eventHandler (data) {
      console.log(data)
    }
  }
}
</script>

// ChildComponent.vue
<template>
  <button @click="sendData">Envoyer les données</button>
</template>

<script>
export default {
    methods: {
        sendData () {
            this.$emit('eventName', 'Données envoyées depuis le composant enfant')
        }
    }
}
</script>

W tym kodzie mamy komponent nadrzędny, który osadza komponent potomny `ChildComponent`. Kiedy klikniesz przycisk w komponencie potomnym, wyzwalane jest zdarzenie `eventName` z danymi `‘Données envoyées depuis le composant enfant‘`. Komponent nadrzędny nasłuchuje go dyrektywą `@eventName` i przy jego wyzwoleniu wywołuje metodę `eventHandler`.

Podsumowanie

Podsumowując: `emit` to potężna funkcja Vue.js, dzięki której przekazujesz zdarzenia z komponentu potomnego do nadrzędnego. Jest łatwa w użyciu i bywa cennym narzędziem komunikacji między komponentami w twojej aplikacji. Po tym przewodniku powinieneś bez obaw sięgać po `emit` we własnym kodzie Vue.js.

JavaScriptVue.js

Damien Flandrin Web developer od 2010 roku, twórca Gekkode i Email Impact. Każdy artykuł jest sprawdzany na prawdziwym projekcie przed publikacją. Kontakt
Newsletter

Nowe testy, poradniki i projekty, e-mailem.

Powtarzalne testy, wersjonowany kod, datowane wyniki. Nigdy spamu.