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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

SAP 电商云 Spartacus 产品明细页面的 pageContext 如何获取的?

發布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP 电商云 Spartacus 产品明细页面的 pageContext 如何获取的? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

調試入口:this.routingService.getNextPageContext()

這個 page context 直接從 store 里讀取的,靠調試 selector 是拿不到的。

我們以前學習過,當 Angular router 框架成功將瀏覽器地址欄的 url,匹配到開發人員用 RouterModule.forChild 傳入的 routes 數組時,會拋出 RoutesRecognized 事件,如下圖所示:

if (event instanceof RoutesRecognized) {routesRecognized = event;if (!dispatchNavLate && this.trigger !== RouterTrigger.STORE) {this.dispatchRouterNavigation(event);}

Angular router 框架這里提供了一個 hook,可以允許應用開發人員修改下一個 router state,即 nextRouterState 變量:

@Injectable() export class CustomSerializerimplements fromNgrxRouter.RouterStateSerializer<ActivatedRouterStateSnapshot>

我們自己實現了 Angular router 框架的一個接口:

fromNgrxRouter.RouterStateSerializer

這里硬編碼了,只要 routerState 里的參數,出現了 productCode,我們就認為這是一個 Product page:

if (params['productCode']) {context = { id: params['productCode'], type: PageType.PRODUCT_PAGE };}

然后我們的 reducer 被調用:

這些都是之前 serializer populate 出的數據:

這里我們把 navigation target 寫入 in-memory state, 這樣接下來的 selector,就能從 state 里讀取出 product 明細頁面的 page context 了:


疑問至此解開。

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

總結

以上是生活随笔為你收集整理的SAP 电商云 Spartacus 产品明细页面的 pageContext 如何获取的?的全部內容,希望文章能夠幫你解決所遇到的問題。

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