组件间通信(props、 $attrs / $listeners、$emit/$`on、refs、vuex、provide/inject)传参

第一种 props

props接受的数据类型:Number, String, Boolean, Array, Function, Object

  • 父子组件
export default {
    props: ["age"],
}

第二种 listeners

  • 老子
    father.vue:


  • 儿子
    child.vue:


  • 孙子
    grandSon.vue:


第三种 on

vm.$on( event, callback )

vm.$emit( event, […args] )

1.eventBus.js

import Vue from 'vue'
export default new Vue()

2.组件使用

  • 组件A

  • 组件B

第四种 $refs

父组件调用子组件的方法,可以传递数据,例如

this.$refs.getData()

第五种 provide/inject

provide() {
    return {
      userInforRoot: this
    }
}

inject: ['userInforRoot'],

第六种 vuex

你可能感兴趣的:(组件间通信(props、 $attrs / $listeners、$emit/$`on、refs、vuex、provide/inject)传参)