在 Vue 中,兄弟组件(Sibling Components)之间没有直接的父子关系,因此无法直接使用 props 或 $emit 进行通信。 通常有以下 4 种主要方案,根据项目的复杂度选择最合适的一种: --- 1. 状态提升(Props + Events)—— 最基础方案 原理:利用共同的父组件作为“中间人”。 1. 组件 A 通过 发送数据给 父组件。 2. 父组件 接收数据并更新自身的 。 3. 父组件 将更新后的数据通过 传递给 组件 B。 适用场景:组件距离近,交互简单,数据量小。 优点:逻辑清晰,不依赖第三方库。 缺点:如果组件层级深,代码会很冗余。 代码示例 (Vue 3 Script Setup): --- 2. 事件总线 (Event Bus) —— 轻量级解耦 原理:创建一个全局空的 Vue 实例(Vue 2)或使用第三方库(Vue 3)作为事件中心,组件 A 向中心发消息,组件 B 监听中心的消息。 Vue 2 写法 使用一个空的 Vue 实例挂载到原型上。 Vue 3 写法 Vue 3 移除了 , 等实例方法,推荐使用第三方库如 mitt。 适用场景...