在 Vue 2.x 中,组件间通信可以通过多种方式进行,包括:
Props 和 Events
- Props: 父组件通过 props 向子组件传递数据。
- Events: 子组件通过
$emit
发送事件给父组件。
父子组件通信
- Props: 父组件通过 props 向子组件传递数据。
- Events: 子组件通过
$emit
触发事件,向父组件传递数据。
子父组件通信
- Events: 子组件通过
$emit
触发事件,父组件通过@event
监听并响应事件。 - $refs: 父组件可以使用
$refs
来直接访问子组件实例,进行方法调用或访问数据。
非父子组件通信
- Event Bus: 创建一个空的 Vue 实例作为事件中心,用于事件的订阅和触发。
- Vuex: 使用 Vuex 进行全局状态管理,在不同组件间共享状态。
插槽(Slot)
- 作用域插槽: 子组件可以向父组件传递数据,父组件可以在子组件插槽中使用数据。
- 具名插槽: 父组件可以向子组件传递具名插槽,子组件可以根据需要使用不同的插槽内容。
这些方式各自适用于不同的场景和需求,组件间通信的选择取决于项目的架构、复杂度以及开发团队的偏好。
Was this helpful?
0 / 0