Что такое emit

Ответ

Emit — это механизм передачи данных от дочернего компонента родительскому в Vue.js. Дочерний компонент "испускает" событие с данными, а родительский подписывается на это событие и обрабатывает его.

Пример:

<!-- ChildComponent.vue -->
<button @click="$emit('customEvent', data)">Click me</button>

<!-- ParentComponent.vue -->
<ChildComponent @customEvent="handleEvent"/>

Ключевые особенности:

  • Имя события должно быть в kebab-case
  • Можно передавать любое количество аргументов
  • В Composition API используется defineEmits()
  • Альтернатива props для передачи данных вверх по иерархии

Это основной способ реализации паттерна "сверху-вниз props, снизу-вверх events" во Vue.