事件总线

这里我是用得是 mitt 这个库,Mitt是一个微型的 EventEmitter 库

安装

 1npm install mitt --save

在plugins文件夹下建立mitt.ts文件

 1import mitt from 'mitt';
 2import { defineNuxtPlugin } from '#app'
 3
 4export default defineNuxtPlugin(() => {
 5  return {
 6    provide: {
 7      mitt: mitt()
 8    }
 9  }
10})

使用:
A页面

 1const { $mitt } = useNuxtApp();
 2 $mitt.emit('pullRefresh')

B页面

 1onMounted(() => {
 2  console.log('onMounted-->')
 3  $mitt.on('pullRefresh', () => {
 4    console.log('pullRefresh-->')
 5  })
 6})
 7onBeforeUnmount(() => {
 8  console.log('卸载了')
 9  $mitt.off('pullRefresh')
10})
个人笔记记录 2021 ~ 2025