Vue 组件之间有哪些通信方式?分别适用什么场景?

父子:  props 向下 / emits 向上        (最常用,清晰)
       v-model (语法糖,双向)
       ref + defineExpose(父拿子实例)
兄弟:  共享状态(Pinia / 简单 reactive 单例)/ 事件总线(mitt)
跨层:  provide / inject
全局:  Pinia / Vuex
模板:  slot(默认/具名/作用域插槽)

选型原则:

避免滥用事件总线(易失控、难追踪);大型项目统一用 Pinia。

同分类其他题目