onfire.js事件訂閱發(fā)布 JavaScript 庫
onfire.js 是一個很簡單的事件分發(fā)的Javascript庫(僅僅 0.9kb),簡潔實用。
可以用于:
-
簡單的事件分發(fā);
-
在 react / vue.js / angular 用于跨組件的輕量級實現(xiàn);
-
事件訂閱和發(fā)布;
API方法:
1.on(event_name, callback)
綁定事件,參數(shù)為event_name和callback, 當有名字為event_name的事件發(fā)生的時候,callback方法將會被執(zhí)行。
這個方法會返回一個eventObj,這個可以用于使用un(eventObj)方法來取消事件綁定。
2.one(event_name, callback)
綁定(訂閱)事件,參數(shù)為 event_name with callback. 當被觸發(fā)一次之后失效。只能被觸發(fā)一次,一次之后自動失效。
3.fire(event_name, data)
觸發(fā)名字為event_name的事件,并且賦予變量data為callback方法的輸入值。
4.un(eventObj / eventName / function)
取消事件綁定。可以僅僅取消綁定一個事件回調方法,也可以直接取消全部的事件;
5.clear()
清空所有事件。
使用Demo:
1. 引入js文件
npm install onfire.js
可以使用<script>標簽直接引入; 也可以使用require或者import關鍵字引入,會得到全局變量 onfire。
import onfire from 'onfire.js';
// or
var onfire = require("onfire.js");
2. 簡單使用
使用方法on來訂閱事件, 使用un來取消訂閱, 使用fire方法來觸發(fā)事件。
import onfire from 'onfire.js';
// 綁定事件
var eventObj = onfire.on('test_event', function(data) {
console.log('this is a event 1');
});
var eventObj2 = onfire.on('test_event', function(data) {
console.log('this is a event 2');
});
// 觸發(fā)事件
onfire.fire('test_event', 'test_data');
// 取消綁定
onfire.un(eventObj); // 取消綁定這個事件.
onfire.un('test_event'); // 取消綁定所有的 `test_event`.
評論
圖片
表情
