npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vue-event-loader

v1.0.1

Published

Vue Event Loader and Broadcast Support

Downloads

7

Readme

Vue-Event-Loader

Overview

vue-event-loader is a VueJs plugin for much more easier event setup as well as event broadcasting. It's very light-weight and efficient.

There are two main functionalities in vue-event-loader. The first one is event registration, and the second is event broadcast.

Installation

You can use NPM to install vue-event-loader:

$ npm install vue-event-loader

After installation, you need to use vue-event-loader to include this plugin for VueJs:

Vue.use(require("vue-event-loader"));

Introduction

Event Registration

In your regular VueJs component setup, along with all the original data, methods and other things, you add a new field called "events" and add items within it. Like:

var vm = new Vue({
  data: { a: 1 },
  methods: {
    plus: function () {
      this.a++
    }
  },
  events: {
    "event.a.change": function (newValue) {
      this.a = newValue;
    }
  }
})

The event must has a key, which is called event.a.change in the following example. To trigger the event, simply call

vm.$emit("event.a.change", 42);

This is basically an alias for the original $on method, but much easier to setup. If you don't want to use a quoted string as the key, you definitely can. You can also use the ES2016 function definition syntax (if you want to use it in browser you may want to use webpack or babel to compile it correctly).

  ...
  events: {
    change (value) {
      this.value = value;
    }
  }
  ...

Note that using arrow definition in events is strictly prohibited (will led to unexpected behavior), like

  ...
  events: {
    "event.a.change": (value) => {
      // THIS IS WRONG!!!!!!!!!!!!
    }
  }
  ...

Event broadcast

All the events you written in events field will be registered to the broadcaster - which means, the broadcaster will know which component it should emit the event to by default. The logics are really straight forward:

Vue.broadcast("[EVENT]", value1, value2, value3, ...);

The above statement will broadcast a event to every component which is registered to the [EVENT] (which means, there's a [EVENT] in the component's events field), along with all the values following the event afterwards.

For example, we have a component which registered to panel.show event. If this event is broadcasted and the id is my_panel, then we will call the show method of this instance.

var myComponent = new Vue({
  ...
  events: {
    "component.show": function (id) {
      if (id == "my_component") this.show();
    }
  }
})

When we broadcast the event, we would do

Vue.broadcast("component.show", "my_component");

to show that component.