state,effects,action,reducer 都在这个文件夹里:

在 routing-state.ts 里定义了 RouterState 接口:

继承自 ngrx router 里的 RouterReducerState 类型,类型参数为我们自定义的 ActivatedRouterStateSnapshot.

export interface ActivatedRouterStateSnapshot {url: string;queryParams: Params;params: Params;context: PageContext;cmsRequired: boolean;semanticRoute?: string;
}

看个例子:

interface myType<T,V>{name: T,value: V
};interface jerryType extends myType<string, number>{score: number;
}const a: jerryType = {name: 'Jerry',value: 1,score: 2
};

其中 state 的类型,需要定义 RouterReducerState 的扩展类型时传入:

BaseRouterStoreState 类型:只有一个 url 字段:

我们自定义的 ActivatedRouterStateSnapshot,extends 了 BaseRouterStoreState,第一个字段就为 url:

看个例子:


type jerryType = {name: string
};
interface mySuperType<T extends jerryType>{value: T
};type superJerryType = {score: number;name: string;
}let a: mySuperType<superJerryType> = {value:{score: 1,name: 'Jerry'}
};console.log(a);

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

SAP 电商云 Spartacus UI 和路由相关的 State 处理相关推荐

  1. SAP 电商云 Spartacus UI 产品搜索结果的设计明细

    我们使用如下 url 访问 SAP 电商云 Spartacus UI 产品搜索页面: http://localhost:4000/electronics-spa/en/USD/search/sony ...

  2. Mobile first 设计思路在 SAP 电商云 Spartacus UI 中的设计体现一例

    关于 Mobile First 的概念,请查看我这篇文章:什么是前端开发中的 mobile first 策略. 下图是 SAP 电商云 Spartacus UI 的搜索结果页面: 其布局设计:temp ...

  3. SAP 电商云 Spartacus UI ComponentDataProvider defer 工厂函数

    为什么 this.componentService.getItems 最后就触发到 Component-data.provider.ts 工厂函数的执行了? 29行的 getService: getS ...

  4. SAP 电商云 Spartacus UI 里如何捕捉语言设置的更改

    我们知道在 SAP 电商云 Spartacus UI 里,用户可以通过下拉菜单更改当前访问 site 的语言: 监控语言变化的代码: this.subscription.add(this.langua ...

  5. 在 SAP 电商云 Spartacus UI 里手动注入 module 的几种排列组合

    先把所有的排列组合罗列如下: (1) 通过构造函数注入 QuickOrderFacade,但不调用其方法 (2) 通过构造函数注入 QuickOrderFacade,调用其方法 (3) 手动通过 in ...

  6. SAP 电商云 Spartacus UI Proxy Facade 的一个实际例子

    如何理解 SAP 电商云 Spartacus UI 中的 proxy facade? Jerry 这篇文章什么是 SAP 电商云 Spartacus UI 的 proxy façade提供了理论上的解 ...

  7. SAP 电商云 Spartacus UI Quick Order 主页的实现

    存货单位(英語:stock keeping unit,SKU/ˌɛsˌkeɪˈjuː/),也翻译为库存单元,是一個會計學名詞,定义为库存管理中的最小可用单元,例如纺织品中一个SKU通常表示规格.颜色. ...

  8. SAP 电商云 Spartacus UI 从 CMS 取回 slots 和 component 之后的处理

    从前一篇文章SAP 电商云 Spartacus UI 的双重 layout 配置层设计 我们得知,Spartacus 层面的 layout-config.ts 可以控制 page template 应 ...

  9. SAP 电商云 Spartacus UI 产品明细页面路由路径的自定义配置

    如下图所示,为了减少 SAP 电商云 Spartacus 客户实施时不必要的配置,Spartacus 将不少页面的路由路径的默认配置,定义在如下的 default-routing-config.ts ...

最新文章

  1. linux下安装sz/rz命令
  2. SpringMQ的使用
  3. 一个进程可以创建多少线程?
  4. webflux databuffer输出
  5. 计算机涉及数学知识点,2019计算机考研数学知识点解读:一元函数积分学
  6. Spring-AOP原理详解
  7. 全球与中国椎弓根螺钉固定市场深度研究分析报告
  8. 匿名虚拟服务器,如何使 SMTP 虚拟服务器能够接受匿名发送的邮件扩展属性
  9. js 画两点之间的连线
  10. 软件开发项目为什么要做第三方软件测试,软件测评机构怎么选择?
  11. mysql distinct数量_MySQL SELECT DISTINCT和计数?
  12. mac 关闭系统完整性保护 SIP(System Integrity Protection)的方法
  13. 数据库在网站中的作用
  14. Feign-独立使用-实战
  15. 一台电脑两个网卡接入两个网络
  16. jdk11新特性,是否有必要从JDK8切换到JDK11
  17. 计算机网络设备装配调试员职业技能鉴定试卷,计算机装配调试员技师应知试卷(B)附答案...
  18. 原理详解:PCA(explained_variance_ratio_与explained_variance_)
  19. IT产品经理眼中两种很特别很特别的程序员
  20. 汇编语言:MOVSB,MOVSW,MOVSD

热门文章

  1. SpringMVC与Mybatis整合---SpringMVC学习笔记(六)
  2. mac 设置mysql开机自启动
  3. vivo9.0系统设备最简单激活XPOSED框架的步骤
  4. How to DEBUG a trigger or procedure
  5. 【云计算的1024种玩法】云端打造家庭文件备份中心
  6. Java内存泄漏问题
  7. 钱伯斯的遗产:思科与集成虚拟网络堆栈
  8. 【更新】ReSharper v2016.3发布,Visual Studio 2017 RC初步支持
  9. golang为LigerUI编写简易版本web服务器
  10. Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装