摘要:這就是的不過想不明白這么優秀的一個庫怎么會沒有實現對主題的訂閱這個功能呢,是不是中有替代方法,有小伙伴知道的話歡迎給我說一下,不勝感激。
有不合理和錯誤的地方歡迎小伙伴雅正,與大家共勉理解對主題訂閱
angular中的訂閱的實現是用的RX.js庫,我們可以用Subject來實現事件的訂閱和發布
// 聲明一個可觀察對象 const obervable = new Subject(); // 訂閱 observable.subscript( data => { handler... }) // 發布 observable.next(data)
項目中離不了對同一個可觀察對象的不同主題的訂閱,比如單頁面應用中某個負責權限的可觀察對象,進行登錄和登出這兩個主題進行訂閱,這個可觀察會根據用戶的登錄和登出去訂閱者發布登錄和登出的事件,讓訂閱者去執行異形系列的操作(大型項目中這有利于降低功能間的耦合)
// 聲明一個可觀察對象,也是一個事件發布對象 const obervable = new Events(); // 對某個話題訂閱 obervable.subscript("login",handler) obervable.subscript("logout",handler) // 對某個主題發布實踐 observable.publish("login",data) observable.publish("logout",data)
給大家看個熟悉的,jQuery的on方法,方便小伙伴理解
// 選取一個dom元素 const dom = $("#obervableDom") // 對這個dom元素的主題進行訂閱(事件監聽) dom.on("click",handler) // dom元素發布主題(觸發事件) dom.click()
熟悉ionic的小伙伴可能有話說了,這不就是ionic的Events嗎。這就是ionic的Events,不過想不明白RX.js這么優秀的一個庫怎么會沒有實現對主題的訂閱這個功能呢,是不是RX.js中有替代方法,有小伙伴知道的話歡迎給我說一下,不勝感激。
下面是我根據ionic Events類的思路和代碼重寫的一個新的Events,用了一些ES6的語法。用法文檔沒有變化(
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99030.html
摘要:微信公眾號后端進階,專注后端技術分享框架分布式中間件服務治理等等。 微信公眾號「后端進階」,專注后端技術分享:Java、Golang、WEB框架、分布式中間件、服務治理等等。 前段時間有個朋友向我提了一個問題,他說在搭建 RocketMQ 集群過程中遇到了關于消費訂閱的問題,具體問題如下: showImg(https://segmentfault.com/img/remote/1460...
摘要:基于寫了一個涂鴉組件,說項目之前先附上幾張效果圖項目地址由于篇幅問題,本文先總體介紹一下項目的大概情況,重點介紹一下組件間的通信方式。一項目說明該項目是基于構建的多頁應用,使用開發,以組件的方式組織代碼。 基于svg寫了一個涂鴉組件,說項目之前先附上幾張效果圖: 項目地址:SVGraffiti showImg(https://segmentfault.com/img/bVbassI?w...
摘要:觀察者模式定義設計模式中對的定義一個對象稱為維持一系列依賴于它觀察者的對象,將有關狀態的任何變更自動通知給它們。如圖模式比較觀察者模式則多了一個類似于話題調度中心的流程,發布者和訂閱者解耦。 Obeserver(觀察者)模式 定義 《js設計模式》中對Observer的定義:一個對象(稱為subject)維持一系列依賴于它(觀察者)的對象,將有關狀態的任何變更自動通知給它們。 《設計模...
閱讀 2570·2021-11-23 09:51
閱讀 3120·2019-08-30 15:54
閱讀 1070·2019-08-30 14:14
閱讀 3542·2019-08-30 13:59
閱讀 1393·2019-08-29 17:09
閱讀 1468·2019-08-29 16:24
閱讀 2848·2019-08-29 15:43
閱讀 911·2019-08-29 12:45