Я использую степпер и пытаюсь перейти к следующему шагу с помощью нажатия кнопки (сам степпер является автономным родительским компонентом (просмотр), вот ссылка на указанный степпер: https://vuetifyjs.com/en/components/steppers#stepper). Однако, используя пример, указанный в ссылке выше, я переместил кнопку, которая переводит вас к следующему шагу в дочернем компоненте (таблице), и я пытаюсь вызвать событие, которое выполняет пошаговое выполнение, через шину событий.
Шаги, которые я предпринял до сих пор:
Я создал файл event-bus.js и заполнил его:
import Vue from "vue";
export const EventBus = new Vue();
и я импортировал его как в родительский (шаговый), так и в дочерний компоненты (таблица с кнопкой в нем)
Я импортировал дочерний компонент в родительский.
Вот как выглядит установка EventBus в моем дочернем компоненте:
<v-btn
color="#009af9"
large
dark
@click="stepperPageOne()">Next</v-btn>
data: () => ({
e1: 0
}),
methods: {
stepperPageOne() {
EventBus.$emit("changePage", this.e1++);
console.log(this.e1);
}
}
Вот как это выглядит в родительском компоненте:
<v-stepper-step :complete="e1 > stepperCatcher()" step="1" color="#68C977">Schedule
</v-stepper-step>
data: () => ({
e1: 0
}) ,
methods: {
stepperCatcher() {
EventBus.$on("changePage");
console.log("changePage");
}
}
Когда я нажимаю кнопку в дочернем компоненте, происходит событие, связанное с ним(Я зарегистрировал это), но степпер не меняет шаги.
Когда я обновляю представление, в котором находится степпер, событие, связанное с ним, должно перехватываться, когда я нажимаю кнопку вэто дочерний компонент сразу запускается дважды.
Может кто-нибудь помочь мне, как добиться желаемого эффекта?