vue兄弟(同胞)传值步骤

本文介绍了如何在 Vue 项目中创建并使用中央事件总线(EventBus)进行组件间的通信。首先在 src 文件夹下创建 eventBus 文件夹及 index.js,实例化一个 Vue 对象作为事件总线。然后在发送数据的组件中引入 EventBus,通过 $emit 触发自定义事件并传递数据。接收数据的组件同样引入 EventBus 并用 $on 监听特定事件,从而接收到并处理传递过来的数据。

1、src文件夹下创建中央事件总线eventBus文件夹及配置index.js文件夹

import Vue from 'vue'
export default new Vue

2、需要传值的zia页面内引入中央事件总线,并且创建触发传值事件

3、在中央事件总线的这个空vue实例之上绑定一个自定义事件$emit

<template>
  <div>
    ziaaaaaaaaaaaaaaaaaaaa
    <br />
    <!-- 在传递方通过事件来触发 -->
    <button @click="fun()">点我传值给zib</button>
  </div>
</template>
<script>
// 引用中央事件总线
import EventBus from "@/eventBus";
export default {
  methods: {
    fun() {
      // 使用中央事件总线来传出数据
      // 在中央事件总线的这个空vue实例之上绑定一个自定义事件
      EventBus.$emit("zia", "我是子a的数据!");
    },
  },
};
</script>
<style>
</style>

4、接收传值的zib页面引入中央事件总线,并且使用$on监听接收数据

<template>
  <div>zibbbbbbbbbbbbbbbbbbbb</div>
</template>

<script>
// 引用中央事件总线
import EventBus from "@/eventBus";
export default {
  mounted() {
    // 使用中央事件总线来监听-接收数据
    // $on("你要监听的事件名",(自定义事件上的数据)=>{
    // })
    EventBus.$on("zia", (val) => {
      console.log(val);
    });
  },
};
</script>
<style>
</style>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值