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); }
以上是关于Vue中bus总线的使用。的主要内容,如果未能解决你的问题,请参考以下文章
Vue中事件总线$bus的用法及$on$off和$emit的使用
Vue中事件总线$bus的用法及$on$off和$emit的使用