main.js я определяю
export const eventBus = new Vue()
А дальше использую его в различных дочерних компонентах. Например, когда необходимо изменить статус сервера, то в компоненте, при вызове метода, вызываю:
eventBus.$emit('ServerStatusChanged', server.status);
В другом дочернем компоненте, при смене значения использую:
created() {
eventBus.$on('ServerStatusChanged', (status) => {
this.status = status;
});
}
в нужных местах компонентов import { eventBus } from '../../main'
для небольших проектов - норм
Насколько я понимаю в маленьком проекте норм, в большом vuex. Я не связывался с eventbus
В main пишешь Vue.prototype.$bus = new Vue(); // Global event bus потом просто в комопнентах this.$bus
Обсуждают сегодня