父子组件间的消息传递(最常用的方式)

文章介绍了Vue.js中父组件向子组件传值的两种常见方式:通过绑定属性`props`和通过$emit触发自定义事件。详细展示了如何在父子组件间进行数据交换和事件监听。
摘要由CSDN通过智能技术生成

最常用的方式

  1. 父组件向子组件传值(绑定属性)::tosonData="fatherdata"绑定,props接受值

父组件father.vue:

<template>

  <div>

    <div style="margin-top:50px">

        <div>

            父组件:

            <span>展示子组件的值:{{sondata}}</span>

        </div>

        <son :tosonData="fatherdata"></son>

    </div>

  </div>

</template>

<script>

import son from '@/components/son.vue'

export default {

    data() {

        return {

            fatherdata: '我是父组件的值',

            sondata: ''

        }

    },

    components: {

        son

    }

}

</script>

<style>

</style>

子组件son.vue

<template>

    <div style="border:1px solid red">

      子组件:

      <span>接受父组件的值:{{tosonData}}</span>

    </div>

</template>

<script>

export default {

    data() {

        return {

           

        }

    },

    props: {

        tosonData: String

    }

}

</script>

<style>

</style>

  1. 子组件向父组件传值($emit触发自定义事件并传值,父组件绑定该事件接受)

父组件:

<template>

  <div>

    <div style="margin-top:50px">

        <div>

            父组件:

            <span>展示子组件的值:{{sondata}}</span>

        </div>

        <son @tofatherdataHandle="getsondata"></son>

    </div>

  </div>

</template>

<script>

import son from '@/components/son.vue'

export default {

    data() {

        return {

            sondata: ''

        }

    },

    components: {

        son

    },

    methods: {

        getsondata(val) {

            this.sondata = val

        }

    }

}

</script>

<style>

</style>

子组件:

<template>

    <div style="border:1px solid red">

      子组件:

      <Button type="primary" @click="tofatherdataBtn">子组件按钮</Button>

    </div>

</template>

<script>

export default {

    data() {

        return {

            tofatherdata: '我是子组件的值'

        }

    },

    methods: {

        tofatherdataBtn() {

            this.$emit('tofatherdataHandle', this.tofatherdata)

        }

    }

}

</script>

<style>

</style>

使用tihs.$ref.xxx.$on('事件名',回调函数)如果回调不是在methods中

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值