@beduin01

Зачем передавать event в компонент Vue?

Вот исходник https://jsfiddle.net/tagdjyrL/

Мне не понятен следующий момент:
<modal-notifications :aa="isActive" :message="message" @my-event="myEvent"></modal-notifications>

:aa="isActive" - тут все понятно, мы передаем в компонент props который потом определит открыто ли модальное окно в компоненте или нет.
Но зачем передавать: @my-event="myEvent" ?

Я же делаю из потомка this.$emit('my-event', this.isActive) которое слушает родитель. А эмит выше вроде бы не нужен, но без него не работает.

И еще вопрос. Что делает:
myEvent: function(isActive) {
  this.isActive = isActive
}

Почему оно должно что-то принимать? Можно же просто значение из data взять. И возвращает ли что-то?
  • Вопрос задан
  • 255 просмотров
Пригласить эксперта
Ответы на вопрос 2
0xD34F
@0xD34F Куратор тега JavaScript
зачем передавать: @my-event="myEvent" ?

Не "передавать", а назначать обработчик события. Зачем? - это уж вам виднее, надо или не надо обрабатывать событие, и если надо, то как именно.

эмит выше вроде бы не нужен, но без него не работает

Чё?

И еще вопрос. Что делает:
myEvent: function(isActive) {
  this.isActive = isActive
}

Если для вас это действительно вопрос - настоятельно рекомендую забыть про vue на ближайшие полгода минимум. И начать осваивать js - здесь ваши знания можно смело округлить до нуля, их нет вообще.
Ответ написан
evgensenin
@evgensenin
Yii2 || Laravel, vue & nuxt
Но зачем передавать: @my-event="myEvent" ?

ты как бы говоришь "слушаю событие my-event и если оно случится (вызывая $emit снизу), то нужно запустить обработчик-функцию myEvent"

родитель не знает всех событий и просто таким образом мы говорим ему
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы