Vue中bus总线的使用。

Posted xiongk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue中bus总线的使用。相关的知识,希望对你有一定的参考价值。

vue中可能会遇到两个没有关系的组件之间的通信。

npm install vue-bus

引入

import Vue from ‘vue‘;
import bus from ‘vue-bus‘;
Vue.use(bus);

创建发送数据

this.$bus.emit("eventName",data)

响应接收数据

this.$bus.on("eventName",(data) => { console.log(data)})

this的作用域要指向当前的vm实例,on监听事件一般放在组件生命周期函数中的created或者mounted中,注销bus需要在beforeDestroy中;

页面路由的时候,原有页面中的bus事件并没有被注销,依然隐藏在程序中,注册的总线事件要在组件销毁时卸载,否则会多次挂载,造成触发一次但多个响应的情况可以在离开界面时注销bus。

beforeDestroy () {
    this.$bus.$off(‘eventName‘,this.todo);
}

 

以上是关于Vue中bus总线的使用。的主要内容,如果未能解决你的问题,请参考以下文章

Vue中事件总线$bus的用法及$on$off和$emit的使用

Vue中事件总线$bus的用法及$on$off和$emit的使用

vue Bus总线

Vue非父子组件传值(Bus/总线/发布订阅模式/观察者模式)

Vue eventBus 事件总线

Vue eventBus 事件总线