当前位置: 首页 > article >正文

Vue3 非父子组件之间通信

前言

vue3 中父子组件之间通信的方式有好几种,而有时需要进行非父子组件的通信,今天我们就讨论其中的两种。

一、emit、on

1、需要引入三方件 mitt
npm i mitt
2、
a:新建一个 js 文件 mitt.js

import mitt from 'mitt'

const bus = mitt();

export default mitt

b:如果不想这么麻烦,我们也可以在 main.js 中进行全局引用

import mitt from 'mitt'

const bus = mitt();
app.config.globalProperties.$bus = bus;

3、在 a.vue 中添加 emit 触发事件

import { getCurrentInstance } from 'vue';

const { proxy } = getCurrentInstance();
proxy.$bus.emit( "toggle", param); //第一个参数是事件名称,第二个是传入参数

4、在 b.vue 中使用 on 监听

import { getCurrentInstance } from 'vue';

const { proxy } = getCurrentInstance();
proxy.$bus.on( "toggle", (param) => {
	console.log(param);
}); 

二、全局组件


http://www.kler.cn/news/290051.html

相关文章:

  • js对象操作常用方法
  • 相机常见名词详解
  • Streamsets运行在国产化银河麒麟服务器
  • 报错:java:程序包org.springframework.boot不存在
  • 操作系统面试真题总结(五)
  • Unity(2022.3.41LTS) - UI详细介绍-画布
  • ChatGPT辅助论文写作的七大场景
  • zdppy+vue3+onlyoffice文档管理系统实战 20240903 上课笔记 登录功能完成
  • 数字化转型工具有哪些 无锡振宁科技
  • Vue项目安装依赖(npm install)报错的解决
  • 2024大模型学习:机器学习在安全领域的应用|从大数据中识别潜在安全威胁
  • 设计模式之解释器模式
  • LeetCode51 N 皇后
  • github上传代码
  • 河南省第三届职业技能大赛 网络安全(世赛选拔)项目样题
  • 【C++模板初阶】
  • 新换了电脑,电脑里常用的6款软件,下载回来继续用
  • Driver.js——实现页面引导
  • OpenFeign深入学习笔记
  • MySQL之DQL简单查询
  • 光纤接口简介
  • 三根K线形态介绍
  • OceanBase V4.2解析:如何用迭代器 Generator快速生成任意数据
  • 【复旦微FM33 MCU 外设开发指南】外设篇3——SPI
  • day02 1.c++对c的扩充
  • 学习关系型数据库:在MAC下编译安装firebird
  • 【iOS】——分类拓展关联对象
  • iOS面试:BAD_ACCESS在什么情况下出现?
  • SQL 语言简明入门:从历史到实践
  • BaseCTF之web(week2)