摘要:是一個(gè)很簡(jiǎn)潔的事件分發(fā),事件訂閱和發(fā)布的庫(kù)僅僅,簡(jiǎn)潔實(shí)用。地址可以用于簡(jiǎn)單的事件分發(fā)在用于跨組件的輕量級(jí)實(shí)現(xiàn)事件訂閱和發(fā)布在線示例,點(diǎn)擊這里。返回所有的事件名稱數(shù)組。綁定事件,觸發(fā)事件,取消綁定取消綁定這個(gè)事件取消綁定所有的
onfire.js 是一個(gè)很簡(jiǎn)潔的事件分發(fā),事件訂閱和發(fā)布的Javascript庫(kù)(僅僅 0.9kb),簡(jiǎn)潔實(shí)用。
Github地址:https://github.com/hustcc/onfire.js
可以用于:
簡(jiǎn)單的事件分發(fā);
在 react / vue.js / angular 用于跨組件的輕量級(jí)實(shí)現(xiàn);
事件訂閱和發(fā)布;
在線示例,點(diǎn)擊這里;English Version Readme. Click Here。
API 方法
1. on(event_name, callback)
綁定事件,參數(shù)為 event_name 和 callback, 當(dāng)有名字為event_name的事件發(fā)生的時(shí)候,callback方法將會(huì)被執(zhí)行。
這個(gè)方法會(huì)返回一個(gè)eventObj,這個(gè)可以用于使用un(eventObj)方法來(lái)取消事件綁定。
2. one(event_name, callback)
綁定(訂閱)事件,參數(shù)為 event_name with callback. 當(dāng)被觸發(fā)一次之后失效。只能被觸發(fā)一次,一次之后自動(dòng)失效。
3. fire(event_name, data)
觸發(fā)名字為 event_name 的事件,并且賦予系列變量datas為callback方法的輸入值。
4. fireSync(event_name, data)
同步的方式觸發(fā)名字為 event_name 的事件,并且賦予系列變量datas為callback方法的輸入值。
5. un(eventObj / event_name)
取消事件綁定??梢詢H僅取消綁定一個(gè)事件回調(diào)方法,也可以直接取消全部的事件。
返回所有的事件名稱數(shù)組。
6. clear()
清空所有事件。
使用的DEMO1. 引入js文件
npm install onfire.js
可以使用 標(biāo)簽直接引入; 也可以使用 require 或者 import 關(guān)鍵字引入,會(huì)得到全局變量 onfire。
import onfire from "onfire.js"; // or var onfire = require("onfire.js");
2. 簡(jiǎn)單使用
使用方法 on 來(lái)訂閱事件, 使用 un 來(lái)取消訂閱, 使用 fire 方法來(lái)觸發(fā)事件。
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"); }); // 觸發(fā)事件 onfire.fire("test_event", "test_data1", "test_data2"); // 取消綁定 onfire.un(eventObj); // 取消綁定這個(gè)事件. onfire.un("test_event"); // 取消綁定所有的 `test_event`.LICENSE
MIT
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/87774.html
摘要:的異步完成整個(gè)異步環(huán)節(jié)的有事件循環(huán)觀察者請(qǐng)求對(duì)象以及線程池。執(zhí)行回調(diào)組裝好請(qǐng)求對(duì)象送入線程池等待執(zhí)行,實(shí)際上是完成了異步的第一部分,回調(diào)通知是第二部分。異步編程是首個(gè)將異步大規(guī)模帶到應(yīng)用層面的平臺(tái)。 showImg(https://segmentfault.com/img/remote/1460000011303472); 本文首發(fā)在個(gè)人博客:http://muyunyun.cn/po...
摘要:重構(gòu)總共耗時(shí)個(gè)工作日。第一個(gè)重構(gòu)原因就是沒(méi)有引入靜態(tài)類型,導(dǎo)致查看一個(gè)對(duì)象結(jié)構(gòu)需要翻來(lái)覆去在多個(gè)文件中查找。第三是各個(gè)狀態(tài)模塊耦合度高,加大了代碼維護(hù)難度。但如果耦合度過(guò)高,往往是因?yàn)槟K沒(méi)有細(xì)分到位。這個(gè)項(xiàng)目也不列外。 showImg(https://segmentfault.com/img/remote/1460000019660483); 不知不覺(jué)已是2019年的7月,恍惚之間已...
摘要:引言于發(fā)布版本,時(shí)至今日已更新到,且引入了大量的令人振奮的新特性,本文章將帶領(lǐng)大家根據(jù)更新的時(shí)間脈絡(luò)了解的新特性。其作用是根據(jù)傳遞的來(lái)更新。新增等指針事件。 1 引言 于 2017.09.26 Facebook 發(fā)布 React v16.0 版本,時(shí)至今日已更新到 React v16.6,且引入了大量的令人振奮的新特性,本文章將帶領(lǐng)大家根據(jù) React 更新的時(shí)間脈絡(luò)了解 React1...
摘要:回調(diào)函數(shù)這是異步編程最基本的方法。對(duì)象對(duì)象是工作組提出的一種規(guī)范,目的是為異步編程提供統(tǒng)一接口。誕生后,出現(xiàn)了函數(shù),它將異步編程帶入了一個(gè)全新的階段。 更多詳情點(diǎn)擊http://blog.zhangbing.club/Ja... Javascript 語(yǔ)言的執(zhí)行環(huán)境是單線程的,如果沒(méi)有異步編程,根本沒(méi)法用,非卡死不可。 為了解決這個(gè)問(wèn)題,Javascript語(yǔ)言將任務(wù)的執(zhí)行模式分成兩種...
摘要:如果今后需要修改,再到這段事件處理函數(shù)的位置來(lái)修改。這是因?yàn)?,分清邏輯功能和事件偵?tīng)兩種職責(zé),是一種良好的實(shí)踐。只讓事件處理函數(shù)本身接觸到瀏覽器事件對(duì)象,有利于降低代碼耦合,方便獨(dú)立測(cè)試及維護(hù)。實(shí)現(xiàn)事件分發(fā)的設(shè)計(jì)模式之一,就是發(fā)布訂閱。 事件分發(fā)的作用 在為頁(yè)面添加各類交互功能時(shí),我們熟知的最簡(jiǎn)單的做法就是為頁(yè)面元素綁定事件,然后在事件處理函數(shù)中,做我們想要做的動(dòng)作。就像這樣的代碼: ...
閱讀 3664·2021-10-12 10:11
閱讀 1026·2021-09-22 15:42
閱讀 3476·2019-08-30 13:06
閱讀 914·2019-08-29 17:05
閱讀 1660·2019-08-29 12:21
閱讀 2388·2019-08-29 11:31
閱讀 1145·2019-08-23 18:37
閱讀 1265·2019-08-23 14:58