@claus_bor

Как продолжить всплытие события?

есть два элемента:
<export-data :data="data"><button></button></export-data>

export-data это компонент, который при клике на него делает экспорт xls файла. Этим компонентом я обернул свою кнопку, что бы стилизовать. По клику на button мне нужно остановить всплытие, сделать запрос на сервер что бы собрать данные, запихнуть их в data, и продолжить всплытие, что бы на export-data отработался клик. Есть ли какая то возможность в js продолжать всплытие после stopPropagation?
P.S. проект на vue.js
  • Вопрос задан
  • 444 просмотра
Решения вопроса 1
sattellite
@sattellite
JS-программист
Попробуйте после проведенных действий запустит event заново. На элементе this.$el или родителе вызвать dispatchEvent.

То есть нельзя остановить событие и потом продолжить его. Придется его вызывать заново. https://developer.mozilla.org/docs/Web/Guide/Event...

<template>
  <div @click="clicked">...</div>
</template>

<script>
export default {
  ...
  methods: {
    clicked(ev) {
      const savedEvent = ev;
      ev.stopPropagation();
      // ... что-то на сервере
      this.$el.dispatchEvent(savedEvent);
    }
  }
};
</script>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы