vue的eventBus 兄弟传值

项目中有需求是两个页面频繁来回切换传值,最开始用的父子组件,但因为是父子组件导致页面只有一个返回事件,只要返回全部清空,so把子组件注册为路由利用eventbus进行传值。写法如下:

首先初始化在common.js中

import vue from "vue"
export const eventBus = new vue()

然后在main.js中注册

Vue.prototype.$eventBus = new Vue()

然后是在使用页面引入

import { eventBus} from '@/common/eventBus.js'

在A页面发送值

beforeDestroy() {
	eventBus.$emit('listData',{batchInfoList:this.copyList,index:this.parentIndex})
}

在B页面接收

onLoad(options) {
	eventBus.$on('listData', (data) => {
		this.detailData.advanceProMList[data.index*1].batchInfoList = data.batchInfoList
	})
}

大概用法就是这样,我是在uniapp中写的 ,vue用法也一致 只是生命周期会有出入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值