# vue组件通信

# 父传子

  • 属性props
  • 特性$attrs, 响应式的,但子组件不可修改
  • 引用$refs
  • 子元素$children, 但子元素不保证顺序

# 子传父

  • $emit,派发事件,子组件$emit, 父组件直接去监听,》》事件谁派发谁监听

# 兄弟组件通信

  • 通过共同的祖辈组件搭桥,$parent, $root

# 祖孙通信

  • provide/inject, 用法类似与data/props

# 任意两个组件

  • 事件总线
  • vuex, 创建全局唯一的数据管理者store, 通过ta管理数据并通知组件状态变更

# 插槽

  • 实现内容分发,用于复合组件开发,常用于通用组件库开发
  • 匿名插槽,具名插槽,作用域插槽

# 递归组件

  • 1.必须有name选项,允许组件模版递归的调用自身
  • 2.调用自身时,要有条件的嵌套,否则会死循环
  • Tree组件是典型的递归组件,其他的诸如菜单组件都属于这一类,也是相当常见的