info-bus
v1.0.3
Published
It can be used to communicate in any project.
Downloads
7
Maintainers
Readme
info-bus
It can be used to communicate in any project.
get start
npm install info-bus --save
api
$on
Listen for an event
function callBack1(information){
console.log(information)
}
infoBus.$on('yourEventName', callBack1);
$emit
Triggering event
var information = 'Hello info-bus!';
infoBus.$emit('yourEventName', information);
// => Hello info-bus!
// And you can trigger multiple callbacks in the same event as long as you have multiple listeners.
function callBack2(information){
console.log(information+' this is callBack2.')
}
infoBus.$on('yourEventName', callBack2);
infoBus.$emit('yourEventName', information);
// => Hello info-bus!
// => Hello info-bus! this is callBack2.
$off
Log off events It can write off a callback for an event and also write off all callbacks.
// Cancels a callback for an event.
infoBus.$off('yourEventName', callBack1); // Only Cancels the callBack1.
// Cancels all callbacks for an event.
infoBus.$off('yourEventName');
$once
Triggered only once
infoBus.$once('yourEventName', (...rest)=>{ console.log(rest) }); // It will only be triggered once.
infoBus.$emit('yourEventName', 'First_val1', 'First_val2'); // First emit.
infoBus.$emit('yourEventName', 'Second_val3', 'Second_val4'); // again.
// => 'First_val1', 'First_val2'
usage
- es6
import infoBus from 'info-bus';
// Mount to the global and use the same infobus anywhere.
window.infoBus = infoBus;
function log1(value) {
console.log(`log1:${value}`);
}
function log2(value) {
console.log(`log2:${value}`);
}
// Listen for an event
infoBus.$on('log', log1);
infoBus.$on('log', log2);
// Triggering event
infoBus.$emit('log', 123);
// The console will print:
// log1:123
// log2:123
// Log off an event
infoBus.$off('log', log1);// Only Cancels the log1.
// Triggering event
infoBus.$emit('log', 123);
// The console will print:
// log2:123
- usual
<script src="./node_modules/info-bus/info-bus.min.js"></script>
<script>
window.infoBus = infoBus;
function log1(value) {
console.log(`log1:${value}`);
}
function log2(value) {
console.log(`log2:${value}`);
}
// Listen for an event
infoBus.$on('log', log1);
infoBus.$on('log', log2);
// Triggering event
infoBus.$emit('log', 123);
// The console will print:
// log1:123
// log2:123
// Cancels all callbacks for log.
infoBus.$off('log');
// Triggering event
infoBus.$emit('log', 123);
// Nothing happened.
</script>