在使用components定义组件的时候 时常会遇到在同一位置但是实现的内容不同 -- 此时继续将组件抽出并完成功能则有两种方式

1、在组件内部定义时 利用v-if/v-else指令 组件页面引用传递一个值(flag)去判断应该实现if/else那一部分的命令

2、在组件内部定义时 利用插槽(slot)将不同的内容先进行占位操作 在组件页面引用时 直接在组件内添加所要实现的内容

组件之间通信

  1. props、$emit (父子组件通信 props父传子,$emit子组件给父组件传值)
  2. provide inject 依赖注入(祖孙组件传值 provide钩子用来发送数据或方法 inject钩子用来接收数据或方法)
  3. vuex (不同组件之间均可传值)
  4. eventBus 事件总线($emit/$on)(父子组件、非父子组件之间通信)
  5. ref/$refs (父子组件通信 ref用在子组件上,它的引用就指向了子组件的实例 this.$refs.child.name可以获取子组件中定义的name属性)