避免师傅抽查赶紧学 vue篇之事件总线(EventBus)

vue篇之事件总线(EventBus)

Vue事件总线(EventBus)使用详细介绍

// main.js
Vue.prototype.$EventBus = new Vue()
//x.vue
this.$eventBus.$emit("justTest", true);
//y.vue
mounted(){
this.$eventBus.$on("justTest", res=>{
      console.log(res,'this.$eventBus.$on("justTest"!!!!!!!!!!!!!!!!!')
    });
}
//x.vue
beforeRouteLeave(to, from, next) {   
    console.log('触发 beforeRouteLeave!!!!!')
    this.$eventBus.$off("justTest");
    }

y.vue的mounted相当于一个开关的开,y.vue第一次渲染完毕把开关打开,再进入x.vue才会打印justTest"!!!!!!!!!!!!!!!!!,离开x.vue把开关关掉,再进入x.vue不会再次打印justTest"!!!!!!!!!!!!!!!!!(除非再进入y.vue把开关打开)。

你可能感兴趣的:(vue,vue)