事件总线
这里我是用得是 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