
Урок 07 · 11 хв
props униз, emit угору
defineProps читає. defineEmits повідомляє батька. Не пиши в prop.
const props = defineProps({ title: { type: String, required: true } }). У шаблоні title видно саме. Угору: const emit = defineEmits(["saved"]) і emit("saved", id). Батько: @saved="reload". Це той самий контракт, що Input/Output в Angular і props/колбек у React.
- Імена подій — kebab у шаблоні батька:
@item-saved, в emit часто camel. Vue їх зіставляє. - Масив emit-імен ловить друкарську помилку краще, ніж довільні рядки будь-де.
- Багато пропсів поспіль — сигнал розбити компонент або дати слот.
Перевірка
Закріпи, поки не пішов далі
1. Чи можна робити
props.title = "x"?2. Батько слухає emit через
3.
required: trueу пропа