如何监听 Vue.js 中根元素发出的事件

Mar*_*her 5 events event-listener vue.js vuejs2

我对 Vue.js 非常陌生,但了解子组件发出的事件如何被其父组件监听。

但是,我正在使用一个插件(vue-masonry),该插件会导致在 Root 元素上发出事件,我可以在 Vue Devtools 的事件选项卡中看到该事件。以作为源。我如何在相关组件上或全局监听这些事件?我不确定这是否可能,或者是否以某种方式实现,使得事件只能由插件在内部侦听。您可以在此处查看代码。所讨论的事件是 4 个名为 的事件${EVENT_ADD}__${masonryId}

我在创建应用程序的根实例时尝试监听这样的事件:

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

并且还在组件的created()方法中尝试了以下操作:

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

这些方法都没有任何效果 - 控制台上没有任何显示。有什么方法可以监听根元素发出的这些事件吗?