Angular 使用tab路由器导航延迟加载

Angular 使用tab路由器导航延迟加载,angular,angular2-routing,angular-material2,Angular,Angular2 Routing,Angular Material2,当对延迟加载的模块使用路由器导航时,似乎存在问题。如果我删除延迟加载,这将很好地工作。但以下是我根据延迟加载模块的设置: 在我的app.template中,我定义了主路由器出口 我有以下根应用程序路由器 export const ROUTES: Routes = [ { path: 'user/:id', loadChildren: './user/profile/profile.module#ProfileModule' } ] 当配置文件模块加载到主路由器出口时,它将显示一

当对延迟加载的模块使用路由器导航时,似乎存在问题。如果我删除延迟加载,这将很好地工作。但以下是我根据延迟加载模块的设置:

在我的app.template中,我定义了主路由器出口

我有以下根应用程序路由器

export const ROUTES: Routes = [
  {
    path: 'user/:id', loadChildren: './user/profile/profile.module#ProfileModule'
  }
]
当配置文件模块加载到主路由器出口时,它将显示一个包含两个路由选项卡和内部配置文件的页面。模块I定义了以下子路由

const ROUTES: Routes = [
    {
        path: '', component: ProfileComponent,
        children: [
            { path: 'subPath1', loadChildren: '../subModule1/subModule1.module#SubModule1Module' },
            { path: 'subPath2', loadChildren: '../subModule2/subModule2.module#SubModule2Module' },
        ]
    }
];

@NgModule({
    imports: [
        RouterModule.forChild(ROUTES),
     ....
    ]
}
在profile.template中,我有如下定义的路由选项卡

<nav md-tab-nav-bar>
          <a class="tab-label" md-tab-link [routerLink]="'subPath1'" routerLinkActive #rla="routerLinkActive" [active]="rla.isActive">
            Sub path 1
          </a>
          <a class="tab-label" md-tab-link [routerLink]="'subPath2'" routerLinkActive #rla="routerLinkActive" [active]="rla.isActive">
            Sub path 2
          </a>
        </nav>
      <router-outlet></router-outlet>

子路径1
子路径2
当我路由到例如/user/:id/subPath2时,我希望子模块2加载到md选项卡导航栏的路由器出口中,但它被加载到主应用程序路由器出口中。这将关闭profile.component并仅显示子模块2,而不是在选项卡中显示它

知道为什么这不适用于延迟加载模块吗?

在Angular2中

forChild创建一个包含所有指令和给定路由的模块,但不包括路由器服务

forRoot创建一个包含所有指令、给定路由、和路由器服务本身的模块

我想你最常用forRoot,因为forChild得到独生子

 RouterModule.forRoot(ROUTES)

谢谢,是的,这似乎是问题所在,但我需要forChild,因为我懒得加载模块。当我移除惰性加载时,它工作得很好。你知道如何为延迟加载模块实现这一点吗?我没有使用lazy,但我认为你需要将组件添加到子级
{path:'subPath1',component:**SomeComponent***,loadChildren:'../subModule1/subModule1.module#submodule1module1'}
非常感谢,你添加组件的方法是正确的。我会把它标为正确答案!我很高兴,你帮助了)同样的问题,但没有得到它的工作。其实我没有,;我得不到需要的东西