組件之間的通信主要分爲:
1、父子組件之間通信
2、非父子組件之間的通信(兄弟組件、隔代關係組件等)
八種通信方式:
1、props 、$emit
2、$children、$parent
3、ref
4、provide 、inject
5、Vuex
6、$attrs 與 $listenters
7、eventBus
8、localStorage 、sessionStorage
總的來說,常見使用場景可以分爲三類:
1、父子組件通信: props / $emit; $parent / $children; provide / inject; ref; $attrs / $listeners
2、兄弟組件通信: eventBus; vuex
3、跨級通信: eventBus; Vuex; provide / inject; $attrs / $listeners
PS:
以上參考於 vue的八種組件通信方式 ,作者寫的很詳細也很全面,這裏不再贅述,感興趣的可以戳鏈接看原文哦~另外,這篇文章 vue組件間通信六種方式(完整版) 寫的也不錯~