我想从EventBus.$emit
发出一个事件,该事件是另一个组件的主要组件。
来自App.vue的EventBus.$on
上的@custom-event=""
关于子组件/另一个组件不起作用。
由于这些之间没有直接的子关系,因此我也不能使用App.vue
如何将事件从-src
-pages
-main-page
-MainPage.vue $on
-event
-constant
-store
-router
App.vue --> $emit
main.js
引发到另一个组件?
这就是我要做的。它正在处理所有其他组件。这是我组件的文件夹结构
node-ip
答案 0 :(得分:0)
您说EventBus方法不起作用,但应该可以,所以我认为您做错了。做这样的事情:
创建eventBus.js
import Vue from 'vue';
export const EventBus = new Vue();
在您的任何单个文件组件中,将其导入:
import { EventBus } from '/src/path/to/eventBus.js';
在组件中触发事件:
EventBus.$emit('some-event-raised', { someData: "bob" })
在任何其他组件中,再次执行导入,然后侦听:
EventBus.$on('some-event-raised', obj => {
console.log(`some-event-raised triggered [${obj.someData}]`)
});