Как вывести объект из eventHub.$on

Я уже неделю пытаюсь вывести объект из eventHub.$on() но все без результата.

Задача состоит в том что бы вывести на карту координаты 2000 объетов (маркеров). Дока по карте вот: https://github.com/Leaflet/Leaflet.markercluster

Из Laravel я уже в методе передал массив координат в Json (и назначил на route). Во VueJS я забрал этот массив с помощью axios.get(). Обработал массив с помощью array.map() и через eventHub.$emit() я передал массив в mounted: где принял с помощью eventHub.$on().

Теперь сама проблема. Я не могу вывести этот массив из eventHub.$on() что бы передать список координат на карту. Код:

mounted: function () {
        this.getData();

        eventHub.$on('getAddress', function (latLng) {
            this.location = latLng;
        }.bind(this));

        var addressPoints =[
                //... Сюда необходимо передать массив с координатами ...
        ]
}

methods: {
getData: function () {
            axios.get('/objects/get-address').then(function (response) {
                this.locations = response.data;
                const latLng = this.locations.map(location => {
                         var coordinate = [location.latitude, location.longitude]
                            return coordinate;
                        });
                eventHub.$emit('getAddress', latLng);
            }.bind(this));
        },
}
  1. Я пробовал через замыкание. Но это не дало результата.
  2. Пробовал вызвать новый метод внутри eventHub.$on() и передавать ему этот массив как аргумент. Так сработало но только метод выполнил действие и вернул данные которые я не могу использовать в mounted:
  3. Код который я вложил, работает. Я могу вывести в concole.log весь массив, но только из eventHub.$on(). Вот скрин:

Screen массива в console.log()

Прошу помощи у знатоков. PS/ Не бейте сильно. Я еще Junior.


Ответы (1 шт):

Автор решения: Виктор Побережный

В общем я вышел из ситуации по другому. Я принял этот массив в родительском компоненте и через свойства PROPS передал в дочерний компонент. Но так как у меня большой объем данных (более 2000 объектов), пришлось обрабатывать в watch: Теперь все работает. введите сюда описание изображения

→ Ссылка