Vue组件间通过EventBus传值时,有哪些注意事项和使用方法?

2026-04-02 10:430阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计491个文字,预计阅读时间需要2分钟。

Vue组件间通过EventBus传值时,有哪些注意事项和使用方法?

主要描述非父子组件之间的通信。项目场景:在app.vue中编写了一个公共的顶部导航栏navbar,右侧有一个分享按钮,但这个分享按钮只在特定页面显示。项目具体在lottery.vue页面。

主要想说下非父子组件之间的通信。

项目场景:

在app.vue里写了一个公共的顶部导航navbar,然后右侧有个分享按钮,而这个分享按钮只有在特定的页面才展示,项目里是在lottery.vue页面,然后想实现app.vue里点击分享按钮,触发lottery.vue里的分享方法。

解决:使用eventBus

1、创建一个event-bus.js

import Vue from 'vue'

export const EventBus = new Vue()

2、在app.vue引入eventbus,点击分享按钮时触发方法

import { EventBus } from '@/tools/event-bus' onClickRight () { EventBus.$emit('handleLotteryShare') }

3、在lottery.vue引入eventBus,在mounted里监听

import { EventBus } from '@/tools/event-bus' mounted () { EventBus.$on('handleLotteryShare', () => { this.doShare() }) },

4、到此解决了。

阅读全文

本文共计491个文字,预计阅读时间需要2分钟。

Vue组件间通过EventBus传值时,有哪些注意事项和使用方法?

主要描述非父子组件之间的通信。项目场景:在app.vue中编写了一个公共的顶部导航栏navbar,右侧有一个分享按钮,但这个分享按钮只在特定页面显示。项目具体在lottery.vue页面。

主要想说下非父子组件之间的通信。

项目场景:

在app.vue里写了一个公共的顶部导航navbar,然后右侧有个分享按钮,而这个分享按钮只有在特定的页面才展示,项目里是在lottery.vue页面,然后想实现app.vue里点击分享按钮,触发lottery.vue里的分享方法。

解决:使用eventBus

1、创建一个event-bus.js

import Vue from 'vue'

export const EventBus = new Vue()

2、在app.vue引入eventbus,点击分享按钮时触发方法

import { EventBus } from '@/tools/event-bus' onClickRight () { EventBus.$emit('handleLotteryShare') }

3、在lottery.vue引入eventBus,在mounted里监听

import { EventBus } from '@/tools/event-bus' mounted () { EventBus.$on('handleLotteryShare', () => { this.doShare() }) },

4、到此解决了。

阅读全文