个人笔记-----非父子组件的通信【如有不对,欢迎指正】

本文介绍了一种Vue组件间通信的方法,通过创建一个公共实例文件VueEvent.js作为中间仓库,实现A组件向B组件发送数据。具体步骤包括实例化Vue、使用$emit()发送数据和$on()接收数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,创建一个公共的实例文件(VueEvent.js),作为中间仓库来传递数值,
2,想从 B 组件获取 A 组件数据,分别在A和B组件中引入公共实例文件VueEvent.js ,然后在A组件中用$emit()将数据发送出去,然后在 B 组件中用$on 方法来接收,
3,在公共文件中先引入 Vue import Vue from 'vue'
对 Vue 进行实例化叫 VueEvent var VueEvent = new Vue()
将实例化 暴露 出去 export default VueEvent
这样空文件就完成了他的使命。
4,然后在A和B组件的根组件文件中引入A和B两个组件,
5,分别在A和B组件中引入 公共是实例文件VueEvent.js import VueEvent from '../VueEvent.js'
6,在A组件中添加事件,发送给B事件
发送时间 用$emit(),有两个参数,第一个是设置数据的名字,然后再B组件中用$on()接收。
$emit('数据名称',数据)
$on('数据名称',function(data){})

		methods: {
            emitToB(){
                VueEvent.$emit('tohome',this.aaa)
            }
        },

7,在B组件中接收事件

	    mounted(){
	        VueEvent.$on('tohome',function(data){
	            this.bbb = data;
	            //console.log(this.bbb)
	        })
	    }

VueEvevt.js

import Vue from 'vue';
var VueEvent = new Vue();




export default VueEvent;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值