npm install -S mitt

1.内置组件总线

①vue入口文件main.js中挂载全局属性

//导入vue创建命令
import { createApp } from 'vue';
//导入vue入口组件
import App from './App.vue';
//导入插件mitt
import mitt from "mitt"
...
//创建Vue应用实例
const app = createApp(App)
//挂载事务总线为全局属性
app.config.globalProperties.$mybus = new mitt()
...
 
app 是自定义Vue实例名
mybus 是自定义总线属性名

②组件中发送事件/发布
this.$mybus.emit('自定义事件名称','数据');

③组件中接收事件/订阅

this.$mybus.on('自定义事件名称',data=>{
    console.log(data); //控制台输出接收到的数据
})


④移除总线事件监听
this.$mybus.off('自定义事件名称')
 

2.自定义组件总线

①封装自定义事务总线文件mybus.js
创建新的js文件,自定义命名

/src/myplugins/mybus.js

import mitt from 'mitt'
export default mitt()


 ②在发送和接收组件中分别导入mybus.js

<template>
...
</template>
<script>
import mybus from "../myplugins/mybus";
...
export default {
...
}
</script>
<style>
...
</style>
注意:
组件中导入文件mybus.js使用相对路径

③发送事件/发布
mybus.emit('自定义事件名称','数据');

④接收事件/订阅
mybus.on('自定义事件名称',data=>{
    console.log(data);//接收到的数据
})

⑤移除总线事件监听
mybus.off('自定义事件名称');
 

Logo

前往低代码交流专区

更多推荐