天天看点

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

检查一下都有哪几处使用到了这个字符串常量:

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

(1) 定义 State 数据结构:

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

(2) 用于创建 feature selector,传入 ROUTING_FEATURE 作为输入参数:feature name

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

(3) 在 routing.module.ts 里,作为 StoreModule.forFeature 和 StoreRouterConnectingModule 的输入参数。

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

对于场景3,我们看看 StoreModule.forFeature 调用返回的类型为ModuleWithProviders 的数据明细。

每个 module 在导入时,会执行其 ts 代码里的可执行代码:

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

storeModule.forFeature 返回的数据:

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

这些 providers 我可以在其他 module 里使用吗?

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

forFeature 的第二个参数必须是 reducer,类型为 ActionReducerMap 或者 ActionReducerMap 的 injection type:

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

Spartacus 选择的是后者:

如何检测 SAP 电商云 Spartacus UI 当前正处于导航状态

继续阅读