在最上层的组件中,用一个数据放个新的VUE对象
new Vue({
el: '#app',
data:{
eventHub: new Vue()
},
render: h => h(App)
})
在组件中 发布广播
this.$root.eventHub.$emit('closemenu',page);
在组件中接收广播
this.$root.eventHub.$on('closemenu', (page) => {
//this.open=false;
});
这样,两个组件不是父子关系也可以传递信息了。
发布广播一般是在计算方法里面,而接收广播一般是在生命周期里面。