【Vue2.0】— 全局事件总线GlobalEventBus(十九)

简介: 【Vue2.0】— 全局事件总线GlobalEventBus(十九)


main.js

import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
//创建vm
new Vue({
    el: '#app',
    render: h => h(App),
    beforeCreate() {
        //安装全局事件总线
        Vue.prototype.$bus = this
    }
})

School.vue

<template>
  <div class="demo">
    <h2>学校名称:{{schoolName}}</h2>
    <h2>学校地址:{{address}}</h2>
  </div>
</template>
<script>
  export default {
    name: 'School',
    data() {
      return {
        schoolName: '二中',
        address: '上海'
      }
    },
    mounted() {
      this.$bus.$on('hello', (data) => {
        console.log('我是School组件收到了数据', data);
      })
    },
    //解绑当前组件所用的事件
    beforeDestroy() {
      this.$bus.$off('hello')
    }
  }
</script>
<style scoped>
  .demo {
    background-color: pink;
  }
</style>

Student.vue

<template>
  <div class="demo">
    <h2>学生姓名:{{name}}</h2>
    <h2>学生年龄:{{age}}</h2>
    <button @click="sendStudentname">把学生名给School组件</button>
  </div>
</template>
<script>
  export default {
    name: 'Student',
    data() {
      return {
        name: '张三',
        age: 19
      }
    },
    methods: {
      sendStudentname() {
        this.$bus.$emit('hello', 666)
      }
    },
  }
</script>
<style>
  .demo {
    background-color: skyblue;
  }
</style>


相关文章
|
2月前
|
JavaScript
Vue学习之--------全局事件总线(2022/8/22)
这篇文章介绍了Vue中全局事件总线(GlobalEventBus)的概念和使用方法,它允许不同组件之间进行通信。文章通过图解和代码实例详细解释了如何安装全局事件总线、在组件中接收和提供数据,以及如何在组件销毁前解绑事件,以避免潜在的内存泄漏问题。
Vue学习之--------全局事件总线(2022/8/22)
|
5月前
|
JavaScript
解释 Vue 的事件总线和 emits 属性。
解释 Vue 的事件总线和 emits 属性。
57 3
|
5月前
|
JavaScript
在Vue中,如何使用事件总线来传递数据和触发事件?
在Vue中,如何使用事件总线来传递数据和触发事件?
72 0
|
5月前
|
JavaScript 程序员
Vue中的全局事件总线是什么?如何使用?
Vue中的全局事件总线是什么?如何使用?
65 0
|
5月前
|
JavaScript 前端开发 API
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
312 0
|
5月前
【Vue2.0学习】—全局事件总线GlobalEventBus(六十一)
【Vue2.0学习】—全局事件总线GlobalEventBus(六十一)
|
10月前
|
JavaScript
Vue全局事件总线(任意组件间通信)
Vue全局事件总线(任意组件间通信)
|
JavaScript
Vue(Vue2+Vue3)——44.全局事件总线、45.TodoList案例_事件总线
Vue(Vue2+Vue3)——44.全局事件总线、45.TodoList案例_事件总线
|
JavaScript
[Vue]全局事件总线
[Vue]全局事件总线
|
7天前
|
JavaScript
vue组件中的插槽
本文介绍了Vue中组件的插槽使用,包括单个插槽和多个具名插槽的定义及在父组件中的使用方法,展示了如何通过插槽将父组件的内容插入到子组件的指定位置。
下一篇
无影云桌面