一個0.9kb簡潔的事件訂閱和發佈Javascript庫

onfire.js 是一個很簡潔的事件分發,事件訂閱和發佈的Javascript庫(僅僅 0.9kb),簡潔實用。vue

Github地址:https://github.com/hustcc/onfire.jsreact

能夠用於:git

  • 簡單的事件分發;github

  • 在 react / vue.js / angular 用於跨組件的輕量級實現;npm

  • 事件訂閱和發佈;數組

在線示例,點擊這裏;English Version Readme. Click Hereui

Build Status npm npm npm

API 方法

1. on(event_name, callback)this

綁定事件,參數爲 event_namecallback, 當有名字爲event_name的事件發生的時候,callback方法將會被執行。spa

這個方法會返回一個eventObj,這個能夠用於使用un(eventObj)方法來取消事件綁定。code

2. one(event_name, callback)

綁定(訂閱)事件,參數爲 event_name with callback. 當被觸發一次以後失效。只能被觸發一次,一次以後自動失效

3. fire(event_name, data)

觸發名字爲 event_name 的事件,而且賦予系列變量datascallback方法的輸入值。

4. fireSync(event_name, data)

同步的方式觸發名字爲 event_name 的事件,而且賦予系列變量datascallback方法的輸入值。

5. un(eventObj / event_name)

取消事件綁定。能夠僅僅取消綁定一個事件回調方法,也能夠直接取消所有的事件。

返回全部的事件名稱數組。

6. 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 方法來觸發事件。

import onfire from 'onfire.js';

// 綁定事件
var eventObj = onfire.on('test_event', function(data1, data2) {
    console.log('this is a event 1');
});
var eventObj2 = onfire.on('test_event', function(data1, data2) {
    console.log('this is a event 2');
});

// 觸發事件
onfire.fire('test_event', 'test_data1', 'test_data2');

// 取消綁定
onfire.un(eventObj); // 取消綁定這個事件.
onfire.un('test_event'); // 取消綁定全部的 `test_event`.

LICENSE

MIT

相關文章
相關標籤/搜索