SAP Spartacus的home page navigation逻辑
我以開發(fā)模式啟動SAP Spartacus,瀏覽器里輸入url: localhost:4200, 會自動重定向到如下頁面:
http://localhost:4201/powertools-spa/en/USD/
這個action是我們自己自定義的serializer里生成的。
在router.reducer.ts里打印出action明細(xì):
fromNgrxRouter.ROUTER_NAVIGATION
發(fā)現(xiàn)powertools-spa/en/USD對應(yīng)的semanticRoute是home, 而context字段指向的PageContext,id為__HOMEPAGE__, type為ContentPage:
其中RouterState類型定義如下:
當(dāng)前狀態(tài),即初始狀態(tài),page context為空。初始狀態(tài)也定義在router.reducer.ts里:
運行時的初始狀態(tài):
homepage維護(hù)在action payload里。下圖已經(jīng)是從初始狀態(tài)進(jìn)入加載context id為__HOMEPAGE__的下一狀態(tài)了:
問題:這個包含了home page的action是誰主動發(fā)起的呢?
答案是這個CustomSerializer:
semantic route:home,路徑為"":
lookupSemanticRoute:
routing-config.service.ts:
謎底揭開了
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Spartacus的home page navigation逻辑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos7双机热备方案(pcs+co
- 下一篇: 万花筒