VUE广播系统

在最上层的组件中,用一个数据放个新的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;
});

这样,两个组件不是父子关系也可以传递信息了。

发布广播一般是在计算方法里面,而接收广播一般是在生命周期里面。

你可能感兴趣的:(VUE广播系统)