Vue3中的全局事件总线(兄弟间传值)

vue3中全局事件总线的改变

vue2中是有全局事件总线的,就是我们所谓的Bus。
但是在vue3中,官方取消了全局事件总线,这样给我们的兄弟组件之间传值造成了些许麻烦。
我们的解决办法就是:
安装插件mitt

插件mitt的安装和使用

  1. 安装mitt

npm i mitt -s
  1. 安装完成后,创建文件夹在src--utils--bus.js

//引入mitt
import mitt from 'mitt'
//调用mitt()
const Bus = mitt();
//暴露
export default Bus;

//这样就看起来像是vue2中对Bus的定义了,大同小异。
  1. 使用Bus,在对应的文件中引入和使用

//1.引入Bus
import Bus from "地址";

//2.绑定自定义事件
Bus.on("自定义事件名",(res)=>{
    //回调函数,res就是emit触发事件传递过来的数据
})

//3.触发自定义事件
Bus.emit("自定义事件名",传递的数据)
  1. 注意:

使用全局总线,建议在合适的时候使用Bus.off("自定义事件名")方法将绑定的自定义事件取消掉。

  1. 飞机扩充:

mitt是我们在vue3中使用的。

vue2除了全局事件总线,我们还有一个pubsub-js插件实现消息订阅与发布。但是我们推荐使用vue中的全局事件总线。

如果想了解这个vue2插件的使用方法,点击这里进行传送:pubsub-js教程


抓紧时间练起来吧,兄dei,再不练你就废啦!

记得支持我哦,么么哒,祝您好事成双~~~~~~

猜你喜欢

转载自blog.csdn.net/Yan9_9/article/details/128832532