angular – 如何导航到延迟加载的模块子路由?

我试图在其路由配置文件中声明的子路由延迟加载模块,

懒惰模块已成功加载,但我无法导航到它的子路由.

我正在使用这种技术,好像它是一个急切加载的模块.
我宣布道路,里面是孩子们.
请参阅Plunker中的’moduleB’路由文件
链接按钮正在尝试导航到子路由并加载CmpC.但它失败了.

这是我的根模块路由decalration:

{ path: 'feature-b', loadChildren:'src/featureB/featureB.module#FeatureBModule' ,  pathMatch: 'full'}

这是我的延迟加载模块路由声明.

export const moduleBRoutes: Routes = [

  { path: '', component:CmpC , pathMatch: 'full',children:[
      {path: '' , pathMatch: 'full'},
      { path: 'c', component:CmpB , pathMatch: 'full'}
  ]},

];

export const subRouting: ModuleWithProviders = RouterModule.forChild(moduleBRoutes);

尝试导航到:localhost:999 / feature-b成功

尝试导航到:localhost:999 / feature-b / c失败

https://plnkr.co/edit/wFlJoDXRmAlMOswmwWFk?p=preview

最佳答案 工作演示:
https://plnkr.co/edit/xAGjXqpmkLbCokvCt9qQ?p=info

删除了不必要的用法

pathMatch:'full'

不要无缘无故地在任何地方使用它.

它现在按预期工作.

了解有关pathMatch的更多信息,请点击此处https://angular.io/docs/ts/latest/guide/router.html#!#redirect,https://angular.io/docs/ts/latest/api/router/index/Routes-type-alias.html

点赞