VueJS的事件总线 - vue-bus

2016-11-08      75      Vue
项目简介

vue-bus

VueJS的事件总线,支持Vue 1.0和2.0。

Installation

$ npm install vue-bus

当结合一个模块系统使用时,你需要通过Vue.use()来安装这个总线:

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

Vue.use(VueBus);

你不需要在使用全局脚本标签时来做这个。

Usage

监听并清除

// ...
created() {
  this.$bus.on('add-todo', this.addTodo);
  this.$bus.once('once', () => console.log('This listener will only fire once'));
},
beforeDestroy() {
  this.$bus.off('add-todo', this.addTodo);
},
methods: {
  addTodo(newTodo) {
    this.todos.push(newTodo);
  }
}

触发

// ...
methods: {
  addTodo() {
    this.$bus.emit('add-todo', { text: this.newTodoText });
    this.$bus.emit('once');
    this.newTodoText = '';
  }
}