我有一个角度项目,我想在其中创建某种导航菜单。这个想法是应用程序的所有链接都放在顶级 NavigationComponent 中,其他路由是它的子节点并加载到它的路由器出口中。应用程序路线看起来像这样:
const appRoutes: Routes = [
{ path: 'login', component: LoginComponent },
{
path: '',
component: NavigationComponent,
children: [
{ path: 'somepage', component: SomePageComponent },
{ path: 'module1', loadChildren: 'app/modules/module1.module#Module1Module' },
{ path: 'module2', loadChildren: 'app/modules/module2.module#Module2Module' },
]
},
// otherwise redirect to 404
{ path: '**', component: PageNotFoundComponent }
];
现在我想添加自定义RouterReuseStrategy
,但是当我导航到尚未加载的子模块的某些路由时,我无法在shouldReuseRoute()
方法中获取未来的路由 url。
例如,如果我仅导航到未来路线的'/module1/someRouteOfModule1'
in ,并且在数组中也不会有路线的其他部分,并且我无法正确保存该页面。routeConfig.path
ActivatedRouteSnapshot
'module1'
pathFromRoot
但是,在那之后,应用程序导航到该模块的其他路由,可以从 pathFromRoute 数组接收整个路由,并且一切正常。
有人遇到过这个问题吗?可能有办法预加载延迟加载模块路由吗?