Выпусканне падзей у 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');
}
}
Перадайце ў даччыны кампанент дзве функцыі. Зрабіце ў даччыным кампаненце дзве кнопкі, кожная з якіх будзе выклікаць адну з перададзеных функцый.