关于sap:SAP-Spartacus-如何获得当前渲染页面的-CMS-元数据

3次阅读

共计 806 个字符,预计需要花费 3 分钟才能阅读完成。

PageLayoutService 实现里有一个 cms 依赖:CmsService.

以后页面元数据信息,通过 cms.getCurrentPage 保护。

从 routingService 里拿到以后页面上下文,再从 central 的 ngRx store 里抽取理论数据:

routingService.getPageContext 的实现:从 store 里读取。

对于 TypeScript 的箭头函数,下列两种写法都正确:

第一种:没有给该函数指定返回类型,TypeScript 编译器主动推导。

let fun5 = (data:number)=> data * data;

第二种:残缺写法。第一个箭头前面的 number,表明返回类型为 number.

let fun5:(data:number) =>number = (data:number)=> data * data;

select 承受一个输出参数:RoutingSelector.getNextPageContext,该参数一看就是一个函数:输出类型为 any,输入类型为 PageContext:

getNextPageContext 的类型定义正好和 select 接口里规定的 mapFn 的类型定义完全一致:

(state: any) => PageContext

select<any, PageContext>(mapFn: (state: any) => PageContext): (source$: Observable<any>) => Observable<PageContext>

select 自身的类型定义:返回一个函数,该函数接管的输出参数是类型为 T 的 Observable,输入是类型为 K 的 Observable 对象。

先假如 routingState 曾经拿到了,先把 mapper 函数写好。而后再回过头来,解决如何拿到 routingState,即 getRouterState 要解决的问题。

同理:

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0