如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态
2023-09-14 09:02:53 时间
使用 routing.selector.ts 里的 isNavigating:
设计原理:Spartacus route reducer 里针对 ROUTER_NAVIGATION 和 ROUTER_NAVIGATED 进行状态迁移:
当接收到 ROUTER_NAVIGATION(跳转正在进行) 事件时,将状态的 nextState 字段设置成 action payload:
当接收到 ROUTER_NAVIGATED(跳转已经完成) 事件时,将状态的 nextState 字段设置成 undefined:
回到本文开头的 API,如果 nextState 不为空,说明正在 navigating.
selector 就是纯函数,能够返回 state 的某一个切片的数据。
只有通过 createSelector 创建的 selector,才具有记忆功能(memoized),即对于相同的输入,一定会返回相同的输出。
为什么 pageMetaService 会触发到 Router State 的 selector?
看看 this.meta$ 的数据源:
meta$ 来自 this.cms.getCurrentPage:
从全局 store 里调用 RoutingSelector 的 getPageContext 方法:
最后 selector 被调用:
更多Jerry的原创文章,尽在:“汪子熙”:
相关文章
- SAP ABAP ALV 的一些总结:Custom container 和 Splitter container
- 如何在 SAP Spartacus 中编写 ASM-Compatible 的代码
- SAP UI5 应用中的 sap.ui.require 使用场景
- SAP UI5 应用中的 sap.ui.require.toUrl 使用场景
- SAP UI5 sap.ui.base.ManagedObject 的构造函数参数讲解
- 通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
- SAP MM SPED输出报错-No authorization for delivery from shipping point US##-之对策
- SAP UI5 响应式表格 sap.m.Table 根据不同宽度的屏幕动态决定显示或隐藏 Column 的实现源代码讲解试读版
- SAP UI5 表格 Click to Select 文本的来源
- SAP Fiori Launchpad url 参数 sap-app-origin-hint 的含义
- SAP中的Currency Converting Factor详解编程语言
- 创建SAP GUI快捷方式保存密码详解编程语言
- SAP SD订单状态详解编程语言
- SAP ALV demo—-自用(新显示函数,不用自定义GUI状态)详解编程语言
- 在SAP标准程序上挂FORM并打印详解编程语言
- SAP STO业务详解编程语言
- SAP Job 状态记录详解编程语言
- SAP ABAP收货或者货物移动(MIGO,MB11,MB1A)在保存时候的增强点详解编程语言
- sap中如何追踪生产订单的修改记录详解编程语言
- 系统SAP在Linux系统上的开启之旅(sap启动linux)
- Oracle与SAP在仓储领域的联姻(仓库oracle和sap)
- SAP与Oracle比较:优缺点及应用案例(saporacle对比)
- 深度比较:SAP vs Oracle(sap与oracle比较)
- 系统Oracle公司收购SAP系统开启新的商业时代(Oracle公司sap)