# Испускание событий в Vue

Как вы уже знаете, данные движутся от родительских компонентов к дочерним. Давайте посмотрим теперь, как дочерние компоненты могут общаться с родительскими. Это делается с помощью испускания событий. Давайте посмотрим на практике.

Пусть в родительском компоненте есть некоторый метод:

`methods: { func() { alert('xxx'); } }`

Передадим этот метод параметром в дочерний компонент:

`<template> <User @show="func" /> </template>`

Пропишем испускаемое событие в настройке `emits`:

`export default { emits: ['show'], data() { return { } } }`

Давайте теперь в дочернем компоненте сделаем кнопку, которая будет обрабатывать клик по ней:

`<template> <button @click="handle">btn</button> </template>`

Сделаем обработчик клика:

`methods: { handle() { } }`

Давайте теперь в обработчике клика заставим вызваться родительскую функцию. Для этого испустим событие с помощью функции `$emit`, ее параметром указав имя испускаемого события:

`methods: { handle() { this.$emit('show'); } }`

Передайте в дочерний компонент две функции. Сделайте в дочернем компоненте две кнопки, каждая из которых будет вызывать одну из переданных функций.

← →
↑