Angular 1.x implementation of the Publish–Subscribe pattern.
MIT License
Angular 1.x implementation of the Publish–Subscribe pattern.
NOTE: This repository is no longer maintained.
The current repository and the
npm
package are not going anywhere but for future projects, please consider using PubSub package instead. Check theexamples
folder for a working example in Angular 1.x application.
$ git clone https://github.com/georapbox/angular-PubSub.git
$ npm install angular-PubSub --save
$ bower install angular.pubsub
Include angular-pubsub.js
in your project after angular.js
and register to your application:
var app = angular.module('app', ['PubSub']);
Inject the service as a dependancy of the application modules, to use it:
var MyController = app.controller('MyController', ['PubSub', function (PubSub) {
// do your stuff here...
}]);
The "listener" is the function to be executed when an event is emitted.
function listener(data, topic) {
console.log('An event is published.');
console.log(topic);
console.log(data);
}
// Subscribe to event
var sub = PubSub.subscribe('event-name', listener);
// Subscribe to event and execute only one time
var subOnce = PubSub.subscribeOnce('event-name', listener)
The publish
method takes two arguments:
PubSub.publish('event-name', {prop1: value1, prop2: value2});
There are two ways to unsubscribe an event:
PubSub.unsubscribe(sub);
PubSub.unsubscribe('event-name');
on
- subscribe
once
- subscribeOnce
trigger
- publish
off
- unsubscribe
$ npm run minify