当前位置: 首页 > 知识库问答 >
问题:

解决方法 - nuxt2框架如何使用vue的事件总线?

姬承教
2024-01-23

nuxt2框架如何使用vue的事件总线哦,为啥我拿不到this.$bus.$emit哦,
求救求救

不管是在created还是在mounted生命周期,都拿不到

共有2个答案

翟理
2024-01-23

$bus 得你手动注入吧

芮安顺
2024-01-23

在 Vue 2 和 Nuxt 2 中,你可以使用 Vue 的事件总线(Event Bus)来在不同的组件之间进行通信。以下是如何在 Nuxt 2 中使用 Vue 的事件总线的步骤:

首先,你需要在你的 store 目录中创建一个新的文件,比如 event-bus.js,并引入 Vue:

import Vue from 'vue'

然后,你需要创建一个新的 Vue 实例,并将其挂载到 window 上,这样所有的 Vue 组件都可以访问到它:

window.bus = new Vue()

现在,你可以在任何组件中使用这个事件总线了。以下是如何在 mounted 生命周期钩子中发射一个事件:

export default {  mounted() {    this.$bus.$emit('my-event', 'Hello, world!')  }}

在其他组件中,你可以使用 $bus.$on 方法来监听这个事件:

export default {  created() {    this.$bus.$on('my-event', (data) => {      console.log(data) // 输出 "Hello, world!"    })  }}

你提到的 this.$bus.$emit 无法获取的问题可能是因为你在组件的 createdmounted 生命周期钩子中没有正确地引用 this.$bus。请确保你在组件的实例上使用 this.$bus,而不是在组件的选项对象上。如果你仍然遇到问题,请检查你的代码,确保你没有在其他地方覆盖了 this.$bus

 类似资料:
  • nuxt2,vue@2.7 如何 引入 vue-echarts6 是否只能通过原型方式调用?

  • 本文向大家介绍Vue框架里使用Swiper的方法示例,包括了Vue框架里使用Swiper的方法示例的使用技巧和注意事项,需要的朋友参考一下 下载swiper 首先使用npm 或者cnpm下载swiper 引入swiper 使用swiper mounted里面调用 注意 如果想要从后台请求图片放上去 new Swiper要写在网络请求成功的函数里面,否则不会出来数据。 slider组件的内容如下:

  • 本文向大家介绍Vue框架下引入ActiveX控件的问题解决,包括了Vue框架下引入ActiveX控件的问题解决的使用技巧和注意事项,需要的朋友参考一下 最近参与了山东某一公司的呼叫中心系统的开发项目,我负责的模块是在公司已有的前端Vue框架下集成他们的软电话条功能。从开始到结束所遇到的几个问题如下: 1.如何将ActiveX控件引入Vue,并且在页面上成功渲染; 2.如何调用ActiveX已提供的

  • 本文向大家介绍详解Vue方法与事件,包括了详解Vue方法与事件的使用技巧和注意事项,需要的朋友参考一下 一 vue方法实现 二 方法传参 三 vue访问原生 DOM 事件 注意用$event获取 四 事件修饰符 本文下载:vue-click_jb51.rar 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Laravel框架使用Redis的方法详解,包括了Laravel框架使用Redis的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel框架使用Redis的方法。分享给大家供大家参考,具体如下: 安装 laravel中使用redis首先需要你通过 Composer 安装 predis/predis 包: 配置 redis的配置文件是:config/datab

  • 本文向大家介绍Android Volley框架使用方法详解,包括了Android Volley框架使用方法详解的使用技巧和注意事项,需要的朋友参考一下 本文主要从两个方面对Android Volley框架的使用方法进行讲解,具体内容如下 一、网络请求 1.get方式请求数据    2.post方式请求数据    3.请求Json数据 二、图片加载 1.ImageRequest加载图片 2.Imag