【Vue知识点】 vue组件之间如何传值

本文详细介绍了Vue中父子组件、子父组件以及兄弟组件之间的通信方式。在父子组件通信中,通过属性(props)将值从父组件传递给子组件;而在子组件向父组件通信时,利用自定义事件($emit)触发并传递数据;对于兄弟组件间的通信,借助一个全局事件总线(bus)作为中转来实现数据传递。
摘要由CSDN通过智能技术生成

1、组件 组件

父组件:<Header  :msg='msg'/>

子组件:

         props:['msg']

         props:{

              msg:数据类型

         }

子组件props的内容为冒号后面的内容不是引号里面的内容,一般来说是:xxx='msg' ,props:['xxx']  ,为了方便一般冒号和引号里的内容一致

2、组件    组件

              <input v-model='changeVal'>

子组件:this.$emit("childInput",this.changeVal);

父组件:

           <Header @childInput = 'getVal' />

           methods:{

                getVal(msg){
                     //msg就是  子组件传递的数据

                }

           }

子组件的第一个参数为自定义事件的名称第二个参数为要传的数据

3、兄弟组件之间的传值

通过一个中转(事件总线bus)

A兄弟传值:

         import bus from '@/common/bus'

         bus.$emit("toFooter",this.msg)

B兄弟接收:

         import bus from '@/common/bus'

         bus.$on('toFooter',(data)=>{

             this.str=data

         })

//bus.js 
import Vue from 'vue';
export default new Vue;
//使用 A兄弟 传值
import bus from '路径'
bus.$emit('自定义事件名称',输出数据)
//使用 B兄弟 接收
import bus from '路径'
bus.on('自定义事件名',(res)=>{})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翘阳啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值