我试图在其路由配置文件中声明的子路由延迟加载模块,
懒惰模块已成功加载,但我无法导航到它的子路由.
我正在使用这种技术,好像它是一个急切加载的模块.
我宣布道路,里面是孩子们.
请参阅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