js實現乙個簡單的訂閱模式

2021-10-04 05:37:41 字數 647 閱讀 7022

訂閱模式應用非常廣泛,比如vue中的鉤子以及vuex的設計模式中都大量使用了訂閱模式。下面就簡單的演示一下。

class

event

// 事件佇列

}// 註冊事件(發布)

addeventlistener

(name, handler)

this

.handlers[name]

.push

(handler)

// 存入事件

}// 觸發事件(訂閱)

dispatch

(name,

...params))}

else

}// 移除事件

remove

(name)}}

const event =

newevent()

function

log(message)

event.

addeventlistener

('log'

, log)

// event.remove('log')

event.

dispatch

('log'

,'haha'

)// haha

JS簡單實現發布訂閱模式

在發布訂閱模式裡,發布者,並不會直接通知訂閱者,換句話說,發布者和訂閱者,彼此互不相識。那他們之間如何交流?由乙個排程中心來做中間人,發布者更新 publish 主題,由主題 排程中心 來進行通知 noticy 訂閱者更新 update 參考網上class物件導向實現,相較於很多js event的實...

js實現乙個簡單的分頁

tip 只適合一些 小打小鬧 的 js部分如下 var sizep 5 設定每頁顯示的個數 var size sizep 每頁顯示的個數 var up 0 當前頁開始的位置 var down 0 當前頁結束的位置 var v1 0 var v2 0 var up1 0 var up2 0 初始化歷史...

乙個簡單MVC模式的實現

簡單mvc模式的實現主要由3部分組成,用於初始化的configlistener,控制器 controller和配置檔案 mvc config.xml 1 configlistener 主要用於在初始化servletcontext時讀入配置檔案,並把路徑和 資訊儲存在attribute中。如下 pub...