SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因
http://localhost:4200/electronics-spa/en/USD/checkout/delivery-mode
沒有任何錯誤消息,白屏:
能看到向 checkoutDeliveryMode step 發起跳轉的事件:
Delivery Mode 實現的 CMS Component id:CheckoutDeliveryMode
CheckoutDeliveryMode 目前只激活了兩個 Component guard:
https://github.com/SAP/spartacus/issues/8880
checkout/payment-details:
payment details 實現的 CMS Component ID:CheckoutPaymentDetails
- CheckoutAuthGuard
- CartNotEmptyGuard
直接訪問 checkout,isStable 返回 false,所以無法繼續下面的操作。
判斷 cart 是否 stable:
如果一個 cart 已經加載完畢,且沒有其他額外施加在其上的 operation,則我們說該 cart 已經 stable 了:
此時 state 里是空的:
這個原理很容易理解,直接在瀏覽器里粘貼 url,此時取 cart 明細的 API 都還沒發出去,所以從 ngrx store 里根本取不到和 cart 相關的信息,所以 isStable 導致返回 false.
第26行代碼:如果 predicate 返回 false,那么在第32行的IF 分支檢查無法通過,不會繼續接下來的 next 操作:
filter Operator 的實現里,如果 predicate 函數返回 false,第 32 行的 IF 分支進不去,執行鏈就從這里斷掉了。
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SSH加密代理「建议收藏」(什么是SSH
- 下一篇: docker run hello-wor