Vue兄弟组件通信

  • 通过父组件传值
    父组件father.vue中,brothersister为兄弟组件
<template>
	<brother ref="brother" :brotherSaid="brotherSaid" @brotherCallback="brotherCallback($event)"></brother>
	<sister ref="sister" :sisterSaid="sisterSaid" @sisterCallback="sisterCallback($event)"></sister>
</template>
<script>
import brother from './brother.vue'
import sister from './sister.vue'
export default {
	components: { brother,sister},
	data(){
		//可以传递字符串
		brotherSaid:'',
		sisterSaid:'',
	},
	methods:{
		//可以执行一些对sister组件要做的逻辑操作
		brotherCallback(params){
			//调用sister组件的print方法并传参
			this.$refs.sister.print(params);
			//将参数传递给sister组件里的sisterSaid字段
			this.sisterSaid = params
		},
		//可以执行一些对brother组件要做的逻辑操作
		sisterCallback(params){
			//调用brother组件的print方法并传参
			this.$refs.brother.print(params);
			//将参数传递给brother组件里的brotherSaid字段
			this.brotherSaid = params
		},
	}
}
</script>

兄弟组件brother.vue

<script>
export default {
	props:['brotherSaid'],
	methods:{
		//调用父组件的brotherCallback方法,可通过点击等其他操作调用该函数
		brotherFun(params){
			this.$emit("brotherCallback",params)
		},
		//兄弟组件sister通过父组件调用的方法
		print(params){
			console.log("sister组件传过来的参数",params)
		}
	}
}
</script>

兄弟组件sister.vue

<script>
export default {
	props:['sisterSaid'],
	methods:{
		//调用父组件的sisterCallback方法,可通过点击等其他操作调用该函数
		sisterFun(params){
			this.$emit("sisterCallback",params)
		},
		//兄弟组件brother通过父组件调用的方法
		print(params){
			console.log("brother组件传过来的参数",params)
		}
	}
}
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

萌萌哒小可爱啦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值