Экземпляр Vue.js как EventBus против встроенного объекта EventTarget: в чем разница? - PullRequest
0 голосов
/ 04 октября 2019

Во многих статьях 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'));
...