Любой способ передачи данных между несвязанными компонентами Vue без использования Event Bus? - PullRequest
0 голосов
/ 14 ноября 2018

Сначала я хочу пояснить, почему я не хочу использовать шину событий в этой ситуации: Поскольку шина событий не будет работать в этой ситуации!

Пожалуйста, сначала ознакомьтесь с упрощенной структурой моего проекта Vue.js:

App.vue
  |---Map.vue
  |---Info.vue
  |     |---layerInfo.vue
  |
  |---WMS.vue
  |---WFS.vue
  |---Basic.vue

Диаграмма показывает только, какой компонент создает какой дочерний компонент, но не все они созданы в начале приложения Vue. LayerInfo.vue будет создан только тогда, когда будут выполнены некоторые условия (Вы можете создать изображение только после нажатия кнопки, layerInfo.vue будет отображен / создан)

Что я сделал:

В компоненте Map.vue я создал карту объектов, которая содержит полезную информацию, и отправляю карту в шину Global Event Bus.

Проблема в том, что в данный момент layerinfo.vue не существует. Так что я не могу слушать событие $ emit use $ on. (Даже я пытался, я не получил карту)


И еще один вопрос о Event Bus: я использовал Event Bus в другой своей части приложения vue. Но я все еще в замешательстве, если шина событий выполняет двустороннюю привязку данных или только одностороннюю? Мой вывод: глобальная шина событий может использоваться только для передачи данных между двумя несвязанными компонентами, когда они оба существуют.

Но мой вопрос: как я могу затем передать дату между двумя не связанными компонентами, когда я не знаю, когда будет создан / обработан тот, который должен получить данные?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...