UNPKG

info-bus

Version:

It can be used to communicate in any project.

126 lines (100 loc) 2.7 kB
# info-bus It can be used to communicate in any project. # get start ```bash npm install info-bus --save ``` # api ## $on Listen for an event ```js function callBack1(information){ console.log(information) } infoBus.$on('yourEventName', callBack1); ``` ## $emit Triggering event ```js 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. ```js // 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 ```js 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 ```js 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 ```html <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> ```