angular-events

1.0.3 • Public • Published

angular-events

Only two methods: .broadcast() and .on(), without native upwards(broadcast)/downwards(emit) logic and scope mess.

Angular version note

Works great with Angular 1.6.*, should work with lower versions as well.

Install

npm install angular-events --save

Include script

<script src="node_modules/ng-events/dist/ng-events.min.js">

Be sure path to node_modules is correct

Add dependency

angular.module('yourApp', ['ngEvents']);

Usage

Broadcast event

angular.module('yourApp').factory('Service1', ['$events', function($events) {

  $events.broadcast('SOMETHING_HAPPENED');
  
}]);

Listen to event

angular.module('yourApp').factory('Service2', ['$events', function($events) {

  $events.on('SOMETHING_HAPPENED', function() {
  
    console.log('Something happened, got it!');
    
  })
  
}]);

Advanced stuff

Passing data

You can also pass data when broadcasting:

  $events.broadcast('SOMETHING_HAPPENED', {info: 'some info'});

and get it:

  $events.on('SOMETHING_HAPPENED', function(data) {
  
    console.log('Something happened, got it! And here is what we know: ' + data.info);
    
  });

Subscribe / listen to multiple events

  $events.on(['SOMETHING_HAPPENED', 'SOMETHING_ANOTHER_HAPPENED'], function() {
  
    console.log('We know that something or something another happened. And it should not bother us that we do not know which specific event was fired (by design means)!');
    
  });

Set handler priority

$events.on('SOMETHING_HAPPENED', function ()
{

	console.log('this will have default priority 500');

});

$events.on('SOMETHING_HAPPENED', function ()
{

	console.log('this will have priority 1000');

}, 1000);


$events.on('SOMETHING_HAPPENED', function ()
{

	console.log('this will have priority 1001 (because push is used)');

});

$events.on('SOMETHING_HAPPENED', function ()
{

	console.log('this should be shown second and...');

}, 20);

$events.on('SOMETHING_HAPPENED', function ()
{

	console.log('This should be shown first and...');

}, 10);

Package Sidebar

Install

npm i angular-events

Weekly Downloads

1

Version

1.0.3

License

MIT

Last publish

Collaborators

  • anurbol