Во многих статьях Vue.js в Интернете говорится о подходе к передаче данных между компонентами, все они отмечают, что мы можем использовать глобальный экземпляр Vue.js в качестве EventBus для глобальной подписки и публикации событий.
Мой вопрос здесь заключается в том, что уже существует объект EventTarget , встроенный во все современные браузеры, который теперь также имеет конструктор, который можно использовать для создания новых объектов-источников событий (Читатьотличная статья об этом здесь ), почему бы просто не реализовать EventTarget и использовать его методы для публикации. и суб. к событиям, как к шине событий?
В чем преимущество использования нового экземпляра Vue.js с единственной целью действовать как EventBus?
Используется ли базовая система событий в vue.js лучше для функциональности EventBus, чем встроенная система событий нашего браузера?
// Utilizing the EventTarget object in javascript:
class MyTarget extends EventTarget {}
const target = new MyTarget();
target.addEventListener('move', () => console.log('target moved'));
target.dispatchEvent(new Event('move'));