SAP Spartacus 如何获得当前渲染页面的 CMS 元数据
PageLayoutService 實現(xiàn)里有一個 cms 依賴:CmsService.
當(dāng)前頁面元數(shù)據(jù)信息,通過 cms.getCurrentPage 維護。
從 routingService 里拿到當(dāng)前頁面上下文,再從 central 的 ngRx store 里抽取實際數(shù)據(jù):
routingService.getPageContext 的實現(xiàn):從 store里讀取。
關(guān)于 TypeScript 的箭頭函數(shù),下列兩種寫法都正確:
第一種:沒有給該函數(shù)指定返回類型,TypeScript 編譯器自動推導(dǎo)。
let fun5 = (data:number)=> data * data;第二種:完整寫法。第一個箭頭后面的 number,表明返回類型為 number.
let fun5:(data:number) =>number = (data:number)=> data * data;select 接受一個輸入?yún)?shù):RoutingSelector.getNextPageContext,該參數(shù)一看就是一個函數(shù):輸入類型為 any,輸出類型為 PageContext:
getNextPageContext 的類型定義正好和 select 接口里規(guī)定的 mapFn 的類型定義完全一致:
(state: any) => PageContext
select<any, PageContext>(mapFn: (state: any) => PageContext): (source$: Observable) => Observable
select 本身的類型定義:返回一個函數(shù),該函數(shù)接收的輸入?yún)?shù)是類型為 T 的 Observable,輸出是類型為 K 的 Observable 對象。
先假設(shè) routingState 已經(jīng)拿到了,先把 mapper 函數(shù)寫好。然后再回過頭來,解決如何拿到 routingState,即 getRouterState 要解決的問題。
同理:
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Spartacus 如何获得当前渲染页面的 CMS 元数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arrows是什么键
- 下一篇: 荒野猎手冈布奥怎么获得