vue的兄弟组件通信

写了很多vue方面的东西,最近才发现自己居然没有接触过兄弟组件通信这个功能,当我第接触写错了,因此记录下使用方式

,正确写法如下

首先现在 main.js定义下
var bus = new Vue();
Vue.prototype.bus = bus;

新建两个组件,引入到父组件中,比如first组件,last组件

first组件

<template>
    <div>
        这是first组件的{{msg}}
         <el-button  @click="sendLast">点击我更新下面的</el-button>
    </div>
</template>

事件如下
	data(){
        return {
            msg: ''
        }
    },
    mounted(){
        this.bus.$on('sendFirst',(val)=>{
            this.msg = val
        })
    },
     methods:{
        sendLast(){
            this.bus.$emit('sendLast','小弟好')
        }
    }

last组件

<template>
    <div>
        这是last组件的{{msg}}
         <el-button  @click="sendFirst">点击我更新上面的</el-button>
    </div>
</template>

事件如下
	data(){
        return {
            msg: ''
        }
    },
    mounted(){
        this.bus.$on('sendLast',(val)=>{
            this.msg = val
        })
    },
     methods:{
        sendFirst(){
            this.bus.$emit('sendFirst','小弟好')
        }
    }

然后在父组件中引入即可

	<template>
    <div>
      <first/>
       <last/>
    </div>
</template>

这样即可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值