组件通信常⽤⽅式有以下9种
ref$emit/$onprops$parents/$children$listence/$attrsvuexeventBusrootprovide + inject
根据组件之间关系讨论组件通信
-
⽗⼦组件
props / $emit / $parent / ref / $attrs
-
兄弟组件
$parent / $root / eventbus / vuex
-
跨层级关系
eventbus / vuex / provide + inject
vue3 中被废弃的通讯方式
- $on
$on,$off并$once删除实例方法。组件实例不再实现事件发射器接口。
- $children
- 在 3.x 中,该
$children属性已被移除且不再受支持。相反,如果您需要访问子组件实例,我们建议使用模板 refs。
- 在 3.x 中,该
- $listence
- 该对象已在 Vue 3 中删除。事件监听器现在是
$attrs
- 该对象已在 Vue 3 中删除。事件监听器现在是