Вы когда-нибудь пытались обновить состояние одного компонента в зависимости от действия другого компонента? Иногда это могло быть немного сложно; возможно, этот пример может помочь вам в таких ситуациях.
Этот код был взят из серии 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"});
Есть много ситуаций, в которых вы можете использовать этот подход, поэтому я настоятельно рекомендую вам попробовать.
Скажите «привет» в Твиттере 👋