如果间接拜访如下 url:
http://localhost:4200/powerto…
页面关上后,没有看到和 product 相干的执行逻辑:
这个 cxRoute: ‘product’ 是哪里保护的?
看这个高亮区域是从哪里赋值的?
在 routing.module.js 里,一个初始化钩子:
调试 35 行这个 router 是如何被计算出来的即可:
通过依赖注入实现的:
依据如下关键字搜寻:cxRoute: ‘product
必须和 default-routing-config.ts 里定义的这个 product 字符串的大小写完全一致:
最初发现了 product-details-page.module.ts 里调用了 Angular 规范的路由 API:RouterModule.forChild
component:门路匹配时实例化的组件。Spartacus UI 里应用的是 PageLayoutComponent,这是一个 generic Component.
data 属性:ActivatedRoute 提供给组件的由开发人员定义的额定数据。默认状况下,不传递任何额定数据。
Spartacus UI 传递了 cxRoute: ‘product’ 作为额定属性。
做个试验,把 ProductDetailsPageModule 的路由配置里的 cxRoute,改成 login:
路由就挂了:
更多 Jerry 的原创文章,尽在:” 汪子熙 ”: