深入探讨vue组件间的传值的几种方式

vue组件间传值的类型主要分为以下几种:

1. 通过props传递,应用于父传子

  • 在Father.vue里:
    深入探讨vue组件间的传值的几种方式_第1张图片
  • 在Child.vue里:
    深入探讨vue组件间的传值的几种方式_第2张图片
  • 展示效果:
    深入探讨vue组件间的传值的几种方式_第3张图片

2. 通过$emit传递,应用于子传父

  • 在Child.vue里:
    深入探讨vue组件间的传值的几种方式_第4张图片
  • Father.vue里:
    深入探讨vue组件间的传值的几种方式_第5张图片
  • 效果展示:
    深入探讨vue组件间的传值的几种方式_第6张图片

3. 使用Bus发布订阅模式,应用于子传父或者任意的非父子组件,必须通过事件来触发

  • 在Home.vue里:
    深入探讨vue组件间的传值的几种方式_第7张图片
  • 在Bus.js里:
    Bus.js
  • 在Brother.vue里:
    深入探讨vue组件间的传值的几种方式_第8张图片
  • 在Brother2.vue里:
    深入探讨vue组件间的传值的几种方式_第9张图片
  • 展示效果:
    深入探讨vue组件间的传值的几种方式_第10张图片

4. vuex传值,适用于任何组件

  • 在store/index.js里:
    深入探讨vue组件间的传值的几种方式_第11张图片
  • 在store/mudules/event.js中:
    深入探讨vue组件间的传值的几种方式_第12张图片
  • 在Home.vue中:
    深入探讨vue组件间的传值的几种方式_第13张图片
  • 在Brother.vue中:
    深入探讨vue组件间的传值的几种方式_第14张图片
  • 在Brother2.vue中,使用this.$store.state.event.data,或者使用mapState:深入探讨vue组件间的传值的几种方式_第15张图片
    深入探讨vue组件间的传值的几种方式_第16张图片
  • 展示效果:
    深入探讨vue组件间的传值的几种方式_第17张图片

5. 使用$parent传值,应用于父子组件

  • 在Home.vue中:
    深入探讨vue组件间的传值的几种方式_第18张图片
  • 在Father.vue中:
    深入探讨vue组件间的传值的几种方式_第19张图片
  • 在Child.vue中:
    深入探讨vue组件间的传值的几种方式_第20张图片
  • 展示效果:
    深入探讨vue组件间的传值的几种方式_第21张图片

6. 使用$children, 用于父子组件

  • 在Home.vue中:
    深入探讨vue组件间的传值的几种方式_第22张图片
  • 在Father.vue中:
    深入探讨vue组件间的传值的几种方式_第23张图片
  • 在Child.vue中:
    深入探讨vue组件间的传值的几种方式_第24张图片
  • 展示效果:
    深入探讨vue组件间的传值的几种方式_第25张图片

7. 使用ref传值,适用于父子组件

  • 在Home.vue中:
    深入探讨vue组件间的传值的几种方式_第26张图片
  • 在Father.vue中:
    深入探讨vue组件间的传值的几种方式_第27张图片
  • 在child.vue中:
    深入探讨vue组件间的传值的几种方式_第28张图片
  • 展示效果:
    深入探讨vue组件间的传值的几种方式_第29张图片

8. 使用provide/inject传值,用于跨级组件,也可以使用父子组件

  • 在Home.vue中:
    深入探讨vue组件间的传值的几种方式_第30张图片
  • 在Father.vue中:
    深入探讨vue组件间的传值的几种方式_第31张图片
  • 在Child.vue中:
    深入探讨vue组件间的传值的几种方式_第32张图片
  • 在Sun.vue中:
    深入探讨vue组件间的传值的几种方式_第33张图片
  • 展示效果:
    深入探讨vue组件间的传值的几种方式_第34张图片

你可能感兴趣的:(vue)