SAP Spartacus B2B Popover Directive 和 Popover Component 的生命周期管理
解析 SAP Spartacus B2B list 實現,即list.component.html時,因為在Component 模板里遇到了[cxPopover]指令,因此觸發依賴注入:
首先創建directive實例:
當點擊宿主元素 icon 時,因為@HostListener 注解的原因,一旦宿主元素發生了 click 事件后,我們定義在 directive 實現里的handleOpen方法會自動被調用:
下圖標號為1的componentFactoryResolver,來自Popover directive 構造函數的依賴注入;
標號為2的PopoverComponent,來自我們在另一個文件里實現并通過export 導出的Component:
標號為3的PopoverContainer,是this.viewContainer(同樣是構造函數依賴注入的結果)調用 createComponent 返回的結果,其結構為:
this.popoverContainer.changeDetectorRef.detectChanges();
手動觸發PopoverComponent的Change detection - 變更檢測
然后調用handlePopoverEvents,執行事件處理注冊邏輯:
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Spartacus B2B Popover Directive 和 Popover Component 的生命周期管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是节水灌溉技术
- 下一篇: 王者噩梦人机在哪(王者荣耀官方网站)