vue中央事件总线

文章介绍了如何使用中央事件总线(vue-bus)在Vue.js应用中实现全局事件注册和通信,从而让不同组件之间能够隔代传递数据。通过在main.js中引入并使用vue-bus,然后在父组件、子组件中分别进行事件的发送和监听,实现了子组件1向子组件2传递数据的示例。
摘要由CSDN通过智能技术生成

什么是中央事件总线

通过创建一个新的vm对象,专门统一注册事件,供所有组件共同操作,达到所有组件随意隔代传值的效果

安装bus

npm install vue-bus

方式1: 全局事件总线

main.js中:

import Vue from 'vue';
import VueBus from 'vue-bus';

Vue.use(VueBus);

父组件中:

<template>
  <div><Zi1 /><Zi2 /></div>
</template>

<script>
import Zi1 from "./zi1.vue";
import Zi2 from "./zi2.vue";
export default {
  data() {
    return {};
  },
  components: {
    Zi1,
    Zi2,
  },
};
</script>

子组件1中:发送

<template>
    <div>
      <button @click="fun()">点我把数据传递给我兄弟zi2</button>
    </div>
  </template>
  
  <script>
  export default {
    data() {
      return {
        text: "我是zi1里的数据",
      };
    },
    methods: {
      fun() {
        // 2.在事件中直接给引进来的中央时间总线绑定自定义事件
        this.$bus.emit("data1", this.text);
      },
    },
  };
  </script>

子组件2中:接收

<template>
  <div class=''>
	子组件2
  </div>
</template>
<script>
  export default {
    mounted(){
      this.$bus.on('data1',age => {
        console.log(age)
     })
    }
  }
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值