Angular 延迟加载和嵌套路由器出口
我试图有懒惰的加载工作嵌套路由器出口,但没有运气 这在Angular 4中得到了支持吗 这是我的用例: 当对延迟加载的模块使用路由器导航时,似乎存在问题。如果我删除延迟加载,这将很好地工作。但以下是我根据延迟加载模块的设置: 在我的app.template中,我定义了主路由器出口 我有以下根应用程序路由器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.
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'}]