乐趣区

关于sap: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/sparta…

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 的原创文章,尽在:” 汪子熙 ”:

退出移动版