在Angular 5应用程序中,我的路由器配置如下:
{
path: 'system-variables',
component: SystemVariablesComponent,
children: [
{
path: '',
redirectTo: 'partners-variables',
pathMatch: 'full'
},
{
path: 'partners-variables',
component: PartnersVariablesComponent,
children: [
{
path: '',
redirectTo: 'partners-branches',
pathMatch: 'full'
},
{
path: 'partners-branches',
component: PartnersBranchesComponent,
children: [
{
path: '',
redirectTo: 'register-partners-branches',
pathMatch: 'full'
},
{
path: 'register-partners-branches',
component: RegisterPartnersBranchesComponent
},
{
path: 'registered-partners-branches',
component: RegisteredPartnersBranchesComponent
}
]
},
{
path: 'partners-stores-categories',
component: PartnersStoresCategoriesComponent,
children: [
{
path: '',
redirectTo: 'register-partners-stores-categories',
pathMatch: 'full'
},
{
path: 'register-partners-stores-categories',
component: RegisterPartnersStoresCategoriesComponent
},
{
path: 'registered-partners-stores-categories',
component: RegisteredPartnersStoresCategoriesComponent
}
]
}
]
}
]
如您所见,当我访问“/”时,我被重定向到“/partners variables”,这会重定向到“/partners variables/partners branchs”,然后再重定向到“/partners variables/partners branchs/register partners branchs”。
在这套嵌套的子路由中,可以导航到多个不同的路径,而这段代码只是我整个应用程序的一部分。
我试图做的是在重新访问父组件时加载上次访问的子路由。
例如,如果我访问:
“/合作伙伴变量/合作伙伴分支/注册合作伙伴分支”
然后我将子路径更改为:
“/合作伙伴变量/合作伙伴分支机构/注册合作伙伴分支机构”
然后我将父路由更改为:
“/合作伙伴变量/合作伙伴存储类别”
最后再回到:
“/合作伙伴变量/合作伙伴分支”,
默认情况下(路由配置),它会将我重定向到:
“/合作伙伴变量/合作伙伴分支/注册合作伙伴分支”
但我上次访问的“/合作伙伴变量/合作伙伴分支”父路由中的路由是“/注册合作伙伴分支机构的子路由,我想恢复它。
Angular 5是否提供任何内置功能?我可以手动创建它,订阅路由更改事件,并将上次访问的子路由存储在内存中,但在这样做之前,我想知道Angular本身是否有可能做到这一点。
我并没有试图将所有组件都保存在内存中,也没有任何链接路由使用策略,只是为了跟踪我上次访问的所有父路由的子路由。
谢谢