如何找到 SAP 电商云 Spartacus UI 导航 navigation 的驱动器 - NavigationEntryItemEffects

简介: 如何找到 SAP 电商云 Spartacus UI 导航 navigation 的驱动器 - NavigationEntryItemEffects

该 effect 有三个依赖:


Actions

CmsComponentConnector

RoutingService


image.png

loadNavigationItems$ 整个是一个 Observable 对象,无法通过调试的方式去知道这个 Observable 本身什么时候被调用,只能知道 Observable 关联的 Operator 什么时候被触发。


image.png


当 Spartacus 其他地方的代码触发 CmsActions.LOAD_CMS_NAVIGATION_ITEMS 时,我们这个 loadNavigationItems$ 里第18行的 ofType 就会触发。


如何调试

在 ofType Operator 调用之前,添加一个 tap 操作符即可:


image.pngimage.png


可以看到,LoadCurrencies,LoadCart 这些 Action,也会触发这个 NavigationEntryItemEffects.


这又是为什么呢?


NavigationEntryItemEffects 被 export 出去,我们看何处导入了该 class.


cms\store\effects\index.ts 通过 effects 数组导出了这个 effects:

image.png


CmsStoreModule 的 imports 区域,包含了导出的 effects 数组。

image.png


相关文章
|
2月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
33 0
|
2月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
21 0
|
2月前
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
20 0
|
27天前
什么是 SAP ABAP 里的 Subscreen
什么是 SAP ABAP 里的 Subscreen
16 1
什么是 SAP ABAP 里的 Subscreen
|
27天前
|
网络架构 开发者 UED
Spartacus 2211 的 provideOutlet 方法扩展 UI
Spartacus 2211 的 provideOutlet 方法扩展 UI
10 0
Spartacus 2211 的 provideOutlet 方法扩展 UI
|
3月前
|
JSON 数据格式
SAP UI5 Class sap.ui.model.Context 的作用介绍
SAP UI5 Class sap.ui.model.Context 的作用介绍
32 0
|
3月前
|
中间件
SAP UI5 Tooling 实战:动手创建自己的 Custom UI5 Server Middleware 试读版
SAP UI5 Tooling 实战:动手创建自己的 Custom UI5 Server Middleware 试读版
19 0
SAP UI5 Tooling 实战:动手创建自己的 Custom UI5 Server Middleware 试读版
|
4月前
|
存储 缓存 前端开发
关于 SAP Spartacus Optimization Engine 里的 cache 参数使用注意事项
关于 SAP Spartacus Optimization Engine 里的 cache 参数使用注意事项
20 0
|
4月前
|
Web App开发 开发框架 运维
一份最近国内外 SAP 从业者在技术交流群里讨论的记录分享:为什么选 UI5 而不选 React
一份最近国内外 SAP 从业者在技术交流群里讨论的记录分享:为什么选 UI5 而不选 React
31 0
|
4月前
|
移动开发 开发框架 JavaScript
什么是 SAP UI5 项目 ui5.yaml 文件中的 specVersion 字段
什么是 SAP UI5 项目 ui5.yaml 文件中的 specVersion 字段
18 0