这个 Service 类 outline 如下图所示:
运行时打印:
这是 Spartacus 团队实现的 Routing Module:
在 init 阶段进行路由配置。
configure 放法的作用:使用 Spartacus routing config 增强原生的 Angular Routes 配置。只能被调用一次。
router.config 包含了 Spartacus 默认的路由配置和合作伙伴通过 provideConfig
传递的自定义配置:
遍历每个 route 记录,调用 configureRoutes 方法:
configureRoute
方法,负责设置 Route 的 path 和 matcher 属性。
Product detail 有一个专门的 matcher:
在 Angular 这种单页应用程序中,开发人员可以通过显示或隐藏与特定组件相对应的显示部分来更改用户所看到的内容,而不是去服务器获取新页面。 当用户执行应用程序任务时,他们需要在开发人员定义的不同视图之间移动。
要处理从一个视图到下一个视图的导航,可以使用 Angular 路由器。 路由器通过将浏览器 URL 解释为更改视图的指令来启用导航。
这个 function Location 指向的函数实现,负责决定 product/:productCode/:name 路由是否应当激活: