SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因

简介: SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因

http://localhost:4200/electronics-spa/en/USD/checkout/delivery-mode

没有任何错误消息,白屏:

image.png能看到向 checkoutDeliveryMode step 发起跳转的事件:image.pngDelivery Mode 实现的 CMS Component id:CheckoutDeliveryModeimage.pngCheckoutDeliveryMode 目前只激活了两个 Component guard:image.pnghttps://github.com/SAP/spartacus/issues/8880

checkout/payment-details:image.pngpayment details 实现的 CMS Component ID:CheckoutPaymentDetailsimage.pngimage.png

  • CheckoutAuthGuard
  • CartNotEmptyGuard

直接访问 checkout,isStable 返回 false,所以无法继续下面的操作。image.png判断 cart 是否 stable:image.png如果一个 cart 已经加载完毕,且没有其他额外施加在其上的 operation,则我们说该 cart 已经 stable 了:image.pngimage.png此时 state 里是空的:image.pngimage.pngimage.png这个原理很容易理解,直接在浏览器里粘贴 url,此时取 cart 明细的 API 都还没发出去,所以从 ngrx store 里根本取不到和 cart 相关的信息,所以 isStable 导致返回 false.


第26行代码:如果 predicate 返回 false,那么在第32行的IF 分支检查无法通过,不会继续接下来的 next 操作:


image.pngfilter Operator 的实现里,如果 predicate 函数返回 false,第 32 行的 IF 分支进不去,执行链就从这里断掉了。image.png

相关文章
|
3天前
|
缓存 前端开发 JavaScript
输入URL到页面渲染的全过程
输入URL到页面渲染的全过程
11 1
|
7天前
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
|
27天前
|
缓存 网络协议 JavaScript
面试常考题:输入url到页面渲染发生了什么?(前半段)
面试常考题:输入url到页面渲染发生了什么?(前半段)
|
27天前
|
JavaScript 前端开发 网络协议
面试常考题: 输入url到页面渲染发生了什么(后半段)
面试常考题: 输入url到页面渲染发生了什么(后半段)
|
3月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
52 5
|
3月前
|
缓存 网络协议 前端开发
【高频】从输入URL到页面展示到底发生了什么?
【高频】从输入URL到页面展示到底发生了什么?
|
3月前
|
Web App开发 移动开发 安全
如何做到修改 url 参数页面不刷新
如何做到修改 url 参数页面不刷新
|
4月前
|
缓存 网络协议 前端开发
URL输入到页面渲染过程详解
URL输入到页面渲染过程详解
32 1
|
4月前
|
存储 安全 数据管理
SAP S4HANA 数据归档流程详解
SAP S4HANA 数据归档流程详解
|
4月前
|
JavaScript
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
下一篇
云函数