1.main.js中全局注入mitt
安装mitt
//安装
npm install --save mitt
注入mitt
import App from './App.vue'
import mitt from 'mitt'
const app = createApp(App)
app.provide('mitter', new mitt())
2.组件中进行使用
import {inject} from 'vue'
const mitter = inject('mitter')
3.封装全局名称唯一的方法
//方法名一定要全局唯一
const onlyOne = () =>{
//方法内容
}
mitter.on('onlyOne', onlyOne) //mitter.on中第一个为方法名,第二个为传参内容
//离开当前页面时要进行销毁
onBeforeUnmount(() => {
//销毁事件
mitter.off('onlyOne', onlyOne)
})
4.其他组件调用该方法
mitter.emit('onlyOne',onlyOneValue)