Вы когда-нибудь пытались обновить состояние одного компонента в зависимости от действия другого компонента? Иногда это могло быть немного сложно; возможно, этот пример может помочь вам в таких ситуациях.

Этот код был взят из серии laracasts Vue2:



Идея проста; когда вам нужно установить связь между отдельными компонентами, вы можете создать глобальный диспетчер событий с помощью Vue.

Как это работает? Давайте сначала создадим класс Event:

Теперь вы можете создать новый экземпляр этого объекта для событий listen и fire между вашими компонентами Vue.

const GlobalEvent = require('./event');
window.Event = new GlobalEvent();
Event.listen('myEvent', function (data) {
    alert("do something");
});
Event.fire('myEvent', {foo: "bar"});

Есть много ситуаций, в которых вы можете использовать этот подход, поэтому я настоятельно рекомендую вам попробовать.

Скажите «привет» в Твиттере 👋