日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP Spartacus PageLayoutComponent 如何知道自己应该显示哪些具体内容

發布時間:2023/12/19 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP Spartacus PageLayoutComponent 如何知道自己应该显示哪些具体内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們以前介紹過,經過 SAP Spartacus 路由配置后的 routes 數組,其 route 數據結構的 Component 屬性,清一色指向 generic 的 PageLayoutComponent,那么后者怎么知道自己應該加載哪些 Angular Component 的數據呢?

我們首先看看是哪些 template 調用了 PageLayoutComponent 的 selector:

只有三處:

運行時卻有四處,這不奇怪,因為 product 明細頁面是通過路由加載的,故出現在 router-outlet 下面。

在其構造函數里加打印語句是無濟于事的,因為這個 Component 的所有字段都是 Observable 類型,得 subscribe 了才能看到。

所以我在其 @input 字段上設置了一個斷點:

渲染觸發點是第2行的 cxOutlet,觸發第10行的 cx-page-layout Component 的創建:

Component 實例(即 PageLayoutComponent)創建完畢后,給其 input 屬性賦值:

上圖的賦值,會觸發下圖第14行代碼執行。

section$ 是一個 subject,其 next 邏輯是遍歷其 listener,逐一通知:

在模板文件 async pipe 執行時,觸發 Observable 的執行:

根據 page, section 和 breakpoint,拿到該 section 里的 slots:

layoutslot 的 key 是 page template:

這個 page template 里并沒有一個 section 名叫 header:

所以我們就 fallback 到全局配置里去取 header 的 slot 配置:

getResponsiveSlotConfig:

先看 layoutConfig 里有沒有專門為 xl 而設置的配置,發現沒有,只有 lg 的:

就找和 xl 最接近的,答案是 lg:

現在就知道了:LandingPage2Template 模板的 header 區域,應該顯示下列這些 slots:

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的SAP Spartacus PageLayoutComponent 如何知道自己应该显示哪些具体内容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。