vue eventBus创建的两种方式

一 . 第一种: main.js创建----挂载原型

1. //main.js
Vue.prototype.$bus = new Vue();

2.子组件(需要发出消息的组件)
this.$bus.$emit("aaa")
3.父组件(需要接收消息的组件)
this.$bus.$on("aaa",()=>{
   this.$refs.scroll.scroll.refresh()
})

...
beforeDestroy() {
		this.$eventBus.$off('newProject')
		this.$eventBus.$off('changePsd')
		Bus.$off('newProject')
	}

二.第二种: ----新实例

//1. src/plugins/bus.js
import Vue from 'vue';
export default new Vue();
2.子组件(需要发出消息的组件)
import Bus from '../plugins/bus'

//使用:
Bus.$emit('newProject')
//3.父组件接收
import Bus from '../plugins/bus'

	Bus.$on('newProject', (val) => {
			this.type = val ? 'edit' : 'add'
			this.injectData = val || {}
			if (!this.$refs.newProject.visible)
				this.$refs.newProject.visible = true
	})

...
beforeDestroy() {
		this.$eventBus.$off('newProject')
		this.$eventBus.$off('changePsd')
		Bus.$off('newProject')
	}

所有总线传值事件都需要在父组件销毁时对总线事件销毁!!!

beforeDestroy() {
		this.$eventBus.$off('newProject')
		this.$eventBus.$off('changePsd')
		Bus.$off('newProject')
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值