常见的一些全局管理通信
- 例如Vuex-事件总线我们就不在这里展开了
- 这些东西在封装实际业务组件是很困难的
让人耳目一新的Vue通信管理
思路来自于element-ui的dispatch和broadcast方法
broadcast方法
- 核心利用$children往下拿到所有子组件的数据-进行递归往下查找
- 当然每一个组件里面的name要起好这就是child.$options.componentName
- 就是我们Vue文件里面export default{name:xx}里面的name
- 这样就可以把消息广播给我们的对应子组件了
dipatch方法
- 核心利用$parent往上进行递归查找
- 同理拿到componentName进行判断如果不是就继续向上进行查找
- 如果没有上级那就是根组件this.$root
- 如果有那就跳出循环通知对应父亲
- 这样就做到了对父级组件数据的派发