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