Vue 中父子组件通信是开发中最基础也是最高频的场景。根据 Vue 2 和 Vue 3 的不同特性,以及通信的方向(父传子、子传父、双向),主要有以下 8 种 常见的实现方式: --- 1. Props(父传子)—— 最通用 这是最基础的方式。父组件通过属性绑定传递数据,子组件通过 接收。 适用场景: 父组件向子组件传递静态或动态数据。 特点: 单向数据流(父组件数据更新会流向子组件,反之不行)。 2. $emit / v-on(子传父)—— 最通用 子组件通过触发事件通知父组件,父组件监听该事件并接收数据。 适用场景: 子组件需要修改父组件数据,或通知父组件执行操作。 3. v-model(双向绑定) 本质上是 + 的语法糖。 Vue 2: 默认为 prop 和 事件。 Vue 3: 默认为 prop 和 事件。支持多个 v-model。 4. Refs & defineExpose(父访问子) 父组件通过 获取子组件的实例,直接调用子组件的方法或访问数据。 注意: Vue 2: 直接访问 。 Vue 3 (): 组件默认是关闭的(私有的),必须在子组件中通过 暴露属性或方法,...