我有一个标准的管理布局,其中所有主要选项卡都是延迟加载的模块,具有单独的状态管理。这全部包含在带有侧栏和admin
的{{1}}组件中。我的一个延迟加载的管理标签有一个特殊的组件,它应该打开产品的全屏预览,占用router-outlet
侧边栏和导航栏及其自己的内容。
我的app路由器看起来像这样:
admin
我的export const appRoutes: Routes = [
/// ... some routes
{ path: 'admin', component: AdminComponent, canActivate: [SignedInGuard], children: [
/// ... some admin child routes
{ path: 'scrapers', loadChildren: '../scrapers/scrapers.module#ScrapersModule'}
/// ... some admin child routes
]}
/// ... some routes
]
模块路由如下所示:
scrapers
我的目标是在与export const scrapersRoutes: Routes = [
{ path: '', component: ScrapersListComponent },
{ path: 'single/:version', component: SingleScraperComponent, children: [
{ path: '', redirectTo: 'statistics', pathMatch: 'full' },
{ path: 'statistics', component: ScraperStatisticComponent },
{ path: 'targets', component: ScraperTargetsComponent },
]},
{ path: 'compare', component: CompareScrapersComponent },
{ path: 'preview', component: ScrapersPreviewComponent }
];
相同的商店中打开preview
模块的scrapers
路线。
我现在的想法:
a)用html / css过分杀人(非常糟糕的主意)
b)为admin
创建一个单独的模块。听起来很坚决,但它几乎不依赖于preview
懒惰状态,所以我不会这样做
c)在更高层次的插座中加载scrapers
。如果有一种有效的方法,我会选择这个。
请分享你的想法。谢谢!