vue+ts 组件之间相互传值

总结:由于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文件,内容如下
image.png
// 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) => {
  // 处理接收到的数据
});

非常简单就实现了页面之间数据的相互传递。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容