vue中eventBus的使用

今天写项目时候,维护的是之前别人写的项目,在两个组件中,一个组件中点击一个按钮,要调用另一个组件的函数,更新另一个组件页面上的信息。两个组件不是父子,差了好几代,也不好用自定义事件。vuex中也不好使用,页面几十处信息需要修改,放到vuex中过于麻烦。所以使用eventBus。

vue2中使用eventBus步骤

1. 创建一个EventBus.js文件,防止后面多次使用

// EventBus.js

import Vue from 'vue';
export const EventBus = new Vue();

2.在你的组件中,当需要发送一个事件时,你可以使用EventBus的$emit方法:

// 在组件A中发送事件,引入
import { EventBus } from './EventBus';

EventBus.$emit('my-event', data);

3.在另一个组件中,你可以使用EventBus的$on方法来监听事件:一般mounted里面使用

import { EventBus } from './EventBus';
mounted() {
 EventBus.$on('my-event', (data) => {
   // 处理事件
 });
};

vue2中使用eventBus步骤,一样的步骤,就api不同

// EventBus.js

import { createApp } from 'vue';

const app = createApp({});

export const eventBus = app;

 

// 在组件A中发送事件
import { eventBus } from './EventBus';

eventBus.emit('my-event', data);
// 在组件B中监听事件
import { eventBus } from './EventBus';

eventBus.on('my-event', (data) => {
  // 处理事件
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值