Vue3-组件通信

Vue3 组件通信

关联:Vue / Vue3-响应式开发

总原则

Props / Emits(最常用)

典型用于:表单组件、列表项组件、按钮/工具条组件等。

v-model(Props+Emits 的语法糖)

v-model 本质是:

适合:输入框、选择器、弹窗显隐、受控组件。

Provide / Inject(跨层传递)

用于祖先组件向深层后代提供依赖,减少层层透传。

常见场景:

注意:如果提供的是响应式对象,要确保注入后仍保持响应式(避免解构导致丢失)。

Slots(组合与内容分发)

用于“组件结构固定,但内容由使用者决定”的场景:

更复杂的状态共享

当组件间共享状态越来越复杂时,通常会引入集中式状态管理(如 Pinia),让通信从“组件关系”转为“状态源”。

资料

资料