Nascent Prototype Metaverse

    vue-bus
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.1 • Public • Published

    vue-bus Build Status Coverage Status Downloads Version License

    A event bus for Vue.js, support both Vue 1.0 and 2.0. See Vue documentation for more detail.

    Installation

    You can install it via yarn or npm.

    $ yarn add vue-bus
    $ npm install vue-bus --save
    

    And it's available on jsdelivr or unpkg.

    <!-- development version -->
    <script src="https://cdn.jsdelivr.net/npm/vue-bus/dist/vue-bus.js"></script>
     
    <!-- production version -->
    <script src="https://cdn.jsdelivr.net/npm/vue-bus/dist/vue-bus.min.js"></script>

    When used with a module system, you must explicitly install the bus via Vue.use():

    import Vue from 'vue';
    import VueBus from 'vue-bus';
     
    Vue.use(VueBus);

    You don't need to do this when using global script tags.

    Usage

    Listen and clean

    // ...
    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);
      }
    }

    Trigger

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

    Another way to use vue-bus

    // xxx.js
    import Vue from 'vue';
     
    Vue.bus.emit('someEvent');

    Note: on once off emit are aliases for $on $once $off $emit. See the API for more detail.

    License

    MIT

    Keywords

    Install

    npm i vue-bus

    DownloadsWeekly Downloads

    4,440

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    10.3 kB

    Total Files

    10

    Last publish

    Collaborators

    • yangmingshan