Angular2 - 辅助路由器内的延迟加载

时间:2016-11-07 10:17:58

标签: angular lazy-loading angular2-routing

我回来了另一个Angular2问题......

目前,我花了大部分时间与R& D讨论我们将要创建的新Angular2项目的各种客户请求。 其中一个要求是SPA能够处理一定数量的标签,所以我现在正在研究使用延迟加载模块的辅助路由器插座。

我已经实现了创建可行的路由映射,但我想优化它:

主路由器:

 export const routes: Routes = [
    {
        path: 'module1',
        outlet: 'tab1',
        loadChildren: 'wwwroot/build/modules/module1/module1.module#Module1Module'
    },
    {
        path: 'module2',
        outlet: 'tab2',
        loadChildren: 'wwwroot/build/modules/module2/module2.module#Module2Module'
    },
    {
        path: '',
        component: DashboardComponent
    }
];

子路由器:

@NgModule({
    imports: [RouterModule.forChild([
        { path: 'Page1', outlet: 'tab1', component: Page1Component },
        { path: 'Page2', outlet: 'tab1', component: Page2Component },
        { path: 'Page1', outlet: 'tab2', component: Page1Component },
        { path: 'Page2', outlet: 'tab2', component: Page2Component },
    ])],
    exports: [RouterModule]
})

工作网址:

  

/(TAB1:模块1 /(TAB1:第1页)// TAB2:模块2 /(TAB2:第2页))

我想在上面的网址上实现的是省略每个插座的第二个参考。我的目标是成为一个网址,例如:

  

/(TAB1:模块1 /第1页// TAB2:模块2 /第2页)

如果我没有在延迟加载的模块路由中引用插座,那么页面将在主路由器插座内打开而不是辅助。 另外,对于上面的示例,是否有人对以下导航选项有一些信息?我似乎无法找到有关其论点的任何详细信息。我仍然坚持[path, {outlets: {outletName: outletPath}}

  • router.navigate()
  • [routerLink] =“”

P.S。请不要介意每个标签上的不同参考。在最终产品上,所有选项卡都可以访问相同的模块/组件。

非常感谢大家!  迪米瑞斯

0 个答案:

没有答案