Vue组件之间通信⽅式有哪些?
VueJs 219
vue是组件化开发框架,所以对于vue应⽤来说组件间的数据通信⾮常重要。
此题主要考查⼤家vue基本功,对于vue基础api运⽤熟练度。
另外⼀些边界知识如provide/inject/$attrs则提现了⾯试者的知识⼴度
思路分析:
- 总述知道的所有⽅式
- 按组件关系阐述使⽤场景
回答范例: - 组件通信常⽤⽅式有以下8种:
props
emit / on
children / parent
attrs / listeners
ref
$root
eventbus
vuex
注意vue3中废弃的⼏个API
根据组件之间关系讨论组件通信最为清晰有效。
⽗⼦组件
props / emit / parent / ref / $attrs
兄弟组件
parent / root / eventbus / vuex
跨层级关系
eventbus / vuex / provide + inject
参考地址
https://v3-migration.vuejs.org/breaking-changes/children.html
https://v3-migration.vuejs.org/breaking-changes/listeners-removed.html
https://v3-migration.vuejs.org/breaking-changes/events-api.html#overview