兄弟組件傳參——子傳父,父傳子

兄弟組件傳參的方式:

1.子傳父,父傳子

2.vuex

3.eventBus


一、通過父親進行傳遞

父組件

<template>
    <div class="box2">
        <div class="bro">
            <brother :messagebro="message1" @broevent="messagesis($event)"></brother>
        </div>
        <div class="sis">
            <sister :messagesis="message2" @sisevent="messagebro($event)"></sister>
        </div>
    </div>
</template>
<script>
import brother from '../../components/demo8/brother.vue'
import Sister from '../../components/demo8/sister.vue'
export default {
  components: { brother, Sister },
  name: 'demo8',
  data () {
    return {
      message1: '',
      message2: ''
    }
  },
  methods: {
    messagesis (message) {
      console.log(message)
      this.message2 = message
    },
    messagebro (message) {
      this.message1 = message
    }
  }
}
</script>
<style lang="less" scoped>
</style>

兄弟組件1

<template>
    <div>
        <span>哥哥組件</span>
        <Button type="primary" @click="messagetosis">給妹妹傳值</Button>
        <span>{{messagebro}}</span>
    </div>
</template>
<script>
import demo8 from '../../view/stationManage/demo8'
export default {
    name: 'brother',
    props: ['messagebro'],
    data () {
        return {
            
        }
    },
    methods: {
        messagetosis () {
            this.$emit('broevent', '回家喫飯了')
        }
    }
}
</script>

兄弟組件2

<template>
    <div>
        <span>妹妹組件</span>
        <Button type="primary" @click="messagetobro">給哥哥傳值</Button>
        <span>{{messagesis}}</span>
    </div>
</template>
<script>
import demo8 from '../../view/stationManage/demo8'
export default {
    name: 'sister',
    props: ['messagesis'],
    data () {
        return {
            
        }
    },
    methods: {
        messagetobro () {
            this.$emit('sisevent', '回家喫飯')
        }
    }
}
</script>

 


樣式:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章