Как вы слушаете события, испускаемые элементом root в Vue. js - PullRequest
0 голосов
/ 18 февраля 2020

Я очень плохо знаком с Vue. js, но понимаю, как события, испускаемые дочерними компонентами, прослушиваются их родительскими компонентами.

Однако я использую плагин (vue - masonry), и этот плагин вызывает событие для элемента Root, который я вижу на вкладке событий Vue Devtools. с в качестве источника. Как бы я прослушал эти события, относящиеся к соответствующему компоненту или глобально? Я не уверен, возможно ли это вообще, или же он реализован таким образом, что плагин может прослушивать события только изнутри. Вы можете увидеть код здесь . Рассматриваемые события - это четыре события, названные как ${EVENT_ADD}__${masonryId};

Я пытался прослушать подобное событие при создании экземпляра root моего приложения:

new Vue({
        el: '#explore-app',
        data: {
            function() {
                return {}
            }
        },
        render: h => h(explore)
    })
    .$on('eventName', (event) => {console.log('Handle event')}).
;

И также пытался выполнить следующее в методе create () компонента:

created() {
    this.$root.$on('eventName', (event) => {console.log('Handle event')});
}

Ни один из этих методов не имеет никакого эффекта - на консоли ничего не отображается. Можно ли как-то прослушать эти события, испускаемые элементом Root?

...