Subject 在 SAP Spartacus Popover Component 中的应用
Subject 是 Rxjs 里的一個工具對象。
Subject 是一種特殊類型的 Observable,它允許將值多播到許多觀察者。 Subject 就像 EventEmitters。
每個 Subject 都是 Observable 和 Observer。 您可以訂閱一個主題,您可以調(diào)用 next 提要值以及錯誤和完成。
這個屬性定義在 Popover Component 上:
其賦值操作發(fā)生在 Popover Directive 的代碼里:
當(dāng) Popover Component 的 Close 按鈕被鼠標(biāo)或者鍵盤觸發(fā)時,觸發(fā)注冊好的 close 事件處理函數(shù):
在 close 事件處理函數(shù)里,通過 Subject 向其監(jiān)聽者廣播 CLOSE_BUTTON_CLICK 或者 CLOSE_BUTTON_KEYDOWN 事件。
在 Popover Directive 里定義了所有能夠觸發(fā) Popover Component 關(guān)掉的事件,如上圖所示。
Popover Directive 是這些事件的監(jiān)聽者。
這里有兩個問題:
對于第一個問題,這里能看出端倪了:Popover Directive 的 eventSubject 負(fù)責(zé)監(jiān)聽事件,然后這個 eventSubject 實例賦給 Component 實例,后者負(fù)責(zé)發(fā)送事件:
close 操作:
如果注釋掉上圖第155行,則無法關(guān)閉 Popover Component 了:
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的Subject 在 SAP Spartacus Popover Component 中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 星链宣布普通用户不再达量降速,但其实网速
- 下一篇: OpenSAP Fiori Elemen