Vue-通信实战

138 阅读1分钟

常见的一些全局管理通信

  • 例如Vuex-事件总线我们就不在这里展开了
  • 这些东西在封装实际业务组件是很困难的

让人耳目一新的Vue通信管理

思路来自于element-ui的dispatch和broadcast方法

broadcast方法

  • 核心利用$children往下拿到所有子组件的数据-进行递归往下查找
  • 当然每一个组件里面的name要起好这就是child.$options.componentName
  • 就是我们Vue文件里面export default{name:xx}里面的name
  • 这样就可以把消息广播给我们的对应子组件了

image.png

dipatch方法

  • 核心利用$parent往上进行递归查找
  • 同理拿到componentName进行判断如果不是就继续向上进行查找
  • 如果没有上级那就是根组件this.$root
  • 如果有那就跳出循环通知对应父亲
  • 这样就做到了对父级组件数据的派发

image.png