当我们跳转到一个SAP Spartacus里实际并不存在的页面时:

首先会将url里的值比如1,作为pageLabelOrID的参数值,去Commerce Cloud后台读取对应的content page,当然是读取不到的,因此返回404错误:

观察这个canActivate方法:

输入参数route:

里面的RouterStateSnapshot结构的url字段,包含了试图跳转的url:

首先利用map操作,把route.url, 也就是UrlSegment结构里的path字段的值提取出来:

这里就会将1作为content page的id,去后台取page数据:

因为后台API返回404错误,pageData为undefined,所以激活NotFoundPage:

not found page的元数据:

最后的not found page渲染如下:

更多Jerry的原创文章,尽在:“汪子熙”:

SAP Spartacus not found的页面处理机制相关推荐

  1. SAP Spartacus 404 Not found页面的显示机制 - canActivateNotFoundPage

    这个方法位于类CmsPageGuardService内. 当我们请求一个实际并不存在的page时, 因为1这个path对应的route configuration里的protected字段为undef ...

  2. SAP Spartacus 的 Above-the-Fold Loading 加载机制

    https://sap.github.io/spartacus-docs/above-the-fold/ Above-the-fold loading is a technique that prio ...

  3. 如何让SAP Spartacus的非英语页面正常显示

    如下图所示,当修改Spartacus的语言成德语时,我们在界面上看到很多用大括号包裹起来的占位符,这些占位符是Spartacus internationalization(i18n)支持的resour ...

  4. SAP Spartacus和传统的Accelerator超时机制(timeout)的区别

    Spartacus works differently than Accelerator. In the Accelerator, the session expires after a determ ...

  5. SAP Spartacus Org Unit明细页面的工具栏按钮设计

    工具栏上肉眼可见两个按钮:Edit和Disable 其中Edit按钮通过a标签实现: 而disable通过自定义的cx-org-toggle-status实现: 从最后渲染出的html页面里能看出,c ...

  6. SAP Spartacus Org Unit明细页面的设计原理

    该页面分三部分组成. 其中蓝色和绿色两个区域的实现如下:两个section标签页: section是HTML标准的标签之一,每个标签通过h1到h6不等的heading标签标识. 运行时渲染的HTML原 ...

  7. SAP Spartacus Organization Unit User页面的实现层级结构

    右边这个页面的实现细节: 层级结构如下: (1) cx-org-unit-user-list, Component为UnitUserListComponent: (2) cx-org-sub-list ...

  8. SAP Spartacus HTTP请求的错误处理机制

    HttpInterceptor来自Angular标准库,而构造函数里注入的handlers,类型为HttpErrorHandler,后者是Spartacus自己实现的. HttpErrorHandle ...

  9. SAP Spartacus的用户登录页面设计

    点击sign in之后,先取token: https://spartacus-dev0.eastus.cloudapp.azure.com:9002/authorizationserver/oauth ...

最新文章

  1. 三个可能会被计算机视觉技术改变的行业
  2. i.mx6ul 移植Openwrt
  3. tcp retransmission原因
  4. 织梦php添加函数调用,dedecms自定义函数及实际案例调用
  5. Docker、Kubernetes与PaaS不得不说的渊源
  6. linux函数 取值溢出,Linux eCryptfs工具parse_tag_3_packet()函数堆溢出漏洞
  7. 什么视频会议系统好?
  8. php mysql实现删除功能_这个PHP / MySQL删除功能是否安全?
  9. Python写excel练习
  10. 平行实境游戏设计——《家务战争》初稿
  11. Everything软件配置
  12. 优雅编程之项目注意这些,你就“正常”了(十七)
  13. 韩版马化腾:在大财阀围堵下仍白手起家的凤凰男,抢滩加密交易平台、公链赛道...
  14. 机器学习核心概念完全解析(建议收藏)
  15. 阿里巴巴资深算法专家刘忠义:聚星台——客户运营核心大数据与算法技术
  16. 外文翻译原文附在后面_本周作业是翻译外文文献摘要,电子版,回复到作业中,提交附件,格式按照外文文献翻译模版,先中文再附上英文原文,只需要摘要_学小易找答案...
  17. 天耀18期 -08.面向对象-上转型【作业】
  18. 计算机本科毕业论文要求,计算机科学与技术学院本科毕业设计(论文)规范(试行)...
  19. STM32单片机TTS温度播报系统 DS18B20 LCD1602
  20. 技术点:手写axios

热门文章

  1. 【云计算的1024种玩法】云端打造家庭文件备份中心
  2. Android自己定义组件系列【4】——自己定义ViewGroup实现双側滑动
  3. 数据库程序接口——JDBC——功能第五篇——批量处理
  4. bash參考手冊之六(Bash特性)
  5. 四中方式实现单例模式
  6. Ueditor/自定义配置
  7. ThreadLocal介绍以及源码分析
  8. 记一次企业级爬虫系统升级改造(一)
  9. Debian 8开启sftp服务
  10. [MapReduce] Google三驾马车:GFS、MapReduce和Bigtable