美文网首页
Vue的EventBus

Vue的EventBus

作者: 蓝醇 | 来源:发表于2019-05-12 22:53 被阅读0次

在更大的 Vue.js 项目中,您可能会将事件总线抽象为单个文件,将其导入到需要使用的每个组件文件中。这样,它不会污染全局命名空间。 或者,您可以通过向 Vue.js 原型,在默认情况下将其提供给任何 Vue.js 组件 Object.defineProperty

// Create a global Event Bus
const EventBus = new Vue()

// Add to Vue properties by exposing a getter for $bus
Object.defineProperties(Vue.prototype, {
  $bus: {
    get: function () {
        return EventBus;
    }
  }
}

允许Vue.js组件的事件总线:

// Emit an Event from a Component using the internal Event Bus

const ComponentWithEventBus = Vue.extend({
  mounted: function(){
    this.$bus.$emit('status', 'Component mounted')
    this.$bus.$on('something', ()=>{
      console.log("Something happened");
    });
  }  
});

相关文章

  • eventBus传值、js或html调用vue方法、父子方法调用

    使用eventBus传值 新建eventBus.jsimport Vue from 'vue'// 用于监听、触发...

  • vue中bus.$on事件被多次绑定

    vue中eventbus被多次触发(vue中使用eventbus踩过的坑)【bus.$on事件被多次绑定】 问题描...

  • EventBus

    EventBus的简介 EventBus 又称为事件总线。在Vue中可以使用 EventBus 来作为沟通桥梁的概...

  • 兄弟组件通讯

    eventBus 定义eventBus eventBus的原理是引入一个新的vue对象,分别调用这个对象的事件发布...

  • vue中使用eventBus

    vue2 方法一: //eventBus.jsimport Vue from 'vue'; export cons...

  • 一个eventBus

    vue实现一个eventBus eventBus应该有些听过,其实就是一个事件发布订阅的功能。vue提供了实例方法...

  • eventBus+vue-router+element写tab标

    组件页tabsCom.vue eventBus.js router.js App.vue

  • vue兄弟组件之间通信--eventBus

    原文地址 eventBus eventBus单独的事件中心,用来管理组件之间的通信。 由于 Vue 实例实现了一个...

  • Vue的事件总线

    事件总线是什么? EventBus 又称为事件总线。在Vue中可以使用 EventBus 来作为沟通桥梁的概念,就...

  • Vue的EventBus

    在更大的 Vue.js 项目中,您可能会将事件总线抽象为单个文件,将其导入到需要使用的每个组件文件中。这样,它不会...

网友评论

      本文标题:Vue的EventBus

      本文链接:https://www.haomeiwen.com/subject/wxxlgqtx.html