訂閱模式應用非常廣泛,比如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...