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