vue3中全局事件总线的改变
vue2中是有全局事件总线的,就是我们所谓的Bus。
但是在vue3中,官方取消了全局事件总线,这样给我们的兄弟组件之间传值造成了些许麻烦。
我们的解决办法就是:
安装插件mitt
插件mitt的安装和使用
安装mitt
npm i mitt -s
安装完成后,创建文件夹在src--utils--bus.js
//引入mitt
import mitt from 'mitt'
//调用mitt()
const Bus = mitt();
//暴露
export default Bus;
//这样就看起来像是vue2中对Bus的定义了,大同小异。
使用Bus,在对应的文件中引入和使用
//1.引入Bus
import Bus from "地址";
//2.绑定自定义事件
Bus.on("自定义事件名",(res)=>{
//回调函数,res就是emit触发事件传递过来的数据
})
//3.触发自定义事件
Bus.emit("自定义事件名",传递的数据)
注意:
使用全局总线,建议在合适的时候使用Bus.off("自定义事件名")方法将绑定的自定义事件取消掉。
飞机扩充:
mitt是我们在vue3中使用的。
vue2除了全局事件总线,我们还有一个pubsub-js插件实现消息订阅与发布。但是我们推荐使用vue中的全局事件总线。
如果想了解这个vue2插件的使用方法,点击这里进行传送:pubsub-js教程
抓紧时间练起来吧,兄dei,再不练你就废啦!
记得支持我哦,么么哒,祝您好事成双~~~~~~