总结:由于vue3 setup ts 中无法使用bus实现组件之间相互传值
(注意: eventBus.emit 是xiangm向所有带有 eventBus.on 子页面传递消息不同的页面根据不同的情况进行区分。
// 离开当前路由进行操作.
import { onBeforeUnmount } from 'vue'
onBeforeUnmount(() => {
// 去掉监听
eventBus.off("eventName")
})
1.npm 安装 mitt插件
npm install mitt -save
2.在 components 文件下新建mitt文件,内容如下
// mitt.ts
import mitt from 'mitt';
const eventBus = mitt();
export default eventBus;
3.组件1 使用
import eventBus from '@/components/mitt'
// 传递了一个name为eventName的参数
eventBus.emit('eventName', '参数data');
组件2 使用
eventBus.on('eventName', (eventData) => {
// 处理接收到的数据
});
非常简单就实现了页面之间数据的相互传递。