我有一个共享模块,其路由定义如下
export const HrRouting: Routes = [
{
path: '',
component: HrComponent,
data: {
breadcrumb: 'HR'
},
children: [
{
path: 'settings',
component: SalesOneProHrSettingsComponent,
data: {
acl: 'hr::hr',
breadcrumb: 'Settings'
},
}
]
}
]
我正在使用loadChildren在两个不同的模块中加载此模块。在其中一个模块中,我想向该路由添加一条路径。例如
HrRouting['children'].push({
path: 'reports',
component: HrReportComponent
});
我该如何实现?
答案 0 :(得分:0)
您可以使用与上面相同的模式。
{
path:'',
component: something,
children:
[
path: 'settings',
component: settings,
children:
[
path: 'nested',
component: nested
]
]
}
答案 1 :(得分:0)
您可以按照以下方式使用unshift来代替Push
this.router.config.unshift(
{ path: 'page1', component: Page1Component },
{ path: 'page2', component: Page2Component }
);
在使用push时,路由将更新到末尾,即path:'**'
之后,因此这些路由将无法访问。
请查看链接以获取更多信息 https://medium.com/@DenysVuika/dynamic-routes-with-angular-6fda03b7fa2c