vue 事件总线简单介绍

EventBus的简介

  EventBus又称为事件总线。在vue中用来组件之间传递数据。

如何使用EventBus

  1、初始化

  首先需要创建一个eventBus.js文件。并将其导出。以便其他模块使用或者监听它。

  

// eventBus.js

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

  2.注册事件

  假设 A组件需要向B组件传递消息。只需要在A组件中注册一个事件。在B组件监听A组件注册的事件。

  

复制代码
<!-- A.vue -->

<template>
    <button @click="send()">A--->B</button>
</template>

<script> 
import { eventBus } from "../eventBus.js";     //导入eventBus.js文件
export default { 
methods: {
send() {
      eventBus.$emit(
"sendMsg", '我是A组件'); //注册一个 sendMsg 事件
    }
  }
};

</script>



复制代码

3.监听事件

接下来,我们需要在 B页面 中接收这则消息。

复制代码
<!--B.vue -->

<template> <div>{{msg}}</div> </template> <script> import { eventBus } from "../eventBus.js";  //导入eventBus.js文件 export default { data(){ return { msg: '' } }, mounted() { eventBus.$on("sendMsg", (msg) => { // A发送来的消息 this.msg = msg; });   // 监听 sendMsg 事件
  }
};

</script>
复制代码

 

posted @   iu学前端  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示