# props和$emit
- 父组件向子组件传递数据是通过prop传递的
- 子组件传递数据给父组件是通过$emit触发事件来做到的。
# $attrs和$listeners
- 能实现祖孙组件通信
# 中央事件总线eventBus $emit $on
上面两种方式处理的都是父子组件之间的数据传递,而如果两个组件不是父子关系呢?
这种情况下可以使用中央事件总线的方式。
- 新建一个空的Vue事件bus对象,然后通过bus.$emit触发事件,bus.$on监听触发的事件
# provide和inject
- 父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。
不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。
而不是局限于只能从当前父组件的prop属性来获取数据,只要在父组件的生命周期内,子组件都可以调用
# $parent 和 $children 与 ref
- 直接得到组件实例,无法在跨级或兄弟间通信
# 6、vuex
- vuex处理组件之间的数据交互