Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 延迟加载和嵌套路由器出口_Angular_Lazy Loading_Angular2 Routing - Fatal编程技术网

Angular 延迟加载和嵌套路由器出口

Angular 延迟加载和嵌套路由器出口,angular,lazy-loading,angular2-routing,Angular,Lazy Loading,Angular2 Routing,我试图有懒惰的加载工作嵌套路由器出口,但没有运气 这在Angular 4中得到了支持吗 这是我的用例: 当对延迟加载的模块使用路由器导航时,似乎存在问题。如果我删除延迟加载,这将很好地工作。但以下是我根据延迟加载模块的设置: 在我的app.template中,我定义了主路由器出口 我有以下根应用程序路由器 export const ROUTES: Routes = [ { path: 'user/:id', loadChildren: './user/profile/profile.

我试图有懒惰的加载工作嵌套路由器出口,但没有运气

这在Angular 4中得到了支持吗

这是我的用例:

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

在我的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,而不是在选项卡中显示它


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

似乎你忘了添加工作示例的链接,这将有助于我们了解你的问题。关于这一点,请添加工作示例。如果你提供像这样的plunker,那就太好了,因为你可以看到所有的工作expected@yurzui非常感谢,我会看一看:)明白了。我试图在具有
子对象的父对象中使用
'
路由,并在与空路由相同的级别上执行我的惰性加载路由(认为
加载子对象
会处理它),但当我仅将惰性加载路由移动到
子对象
子对象中时,它就起作用了:[{path:'child',loadChildren:'child module#childModule'}]