使用一个模块的Angular多个惰性加载路由/路径



我正在尝试配置几个水平路由(即-未嵌套),并将它们放入一个惰性加载模块。

问题是,我不知道如何在惰性加载的特性模块中匹配这些路由。

主路由模块是这样的-

{
path: 'search/:query',
loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
},
{
path: 'category/:category',
loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
},
{
path: 'tag/:tag',
loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
},

然后,在我的功能模块中,我试图匹配那些基于路径的路由,但它不工作-

{
path: 'search/:query',
component: SearchComponent,
resolver: SearchResolver,
},
{
path: 'category/:category',
component: CategoryComponent,
resolver: CategoryResolver,
},
{
path: 'tag/:tag',
component: TagComponent,
resolver: TagResolver,
},

当我尝试访问完整的复制路由时,它确实有效,例如:

domain.com/category/:cat/category/:cat

所以我猜唯一缺少的是一种在特性模块中匹配父路由的方法,但是我在它周围找不到任何东西。

代码结构不干净。您正在创建一个模块,该模块使用三条路由路由到另一个模块。为什么不把这些路由从父模块中移除,而把它们放在特性模块中呢?父模块:

{
path: '/',
loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
}

功能模块:

{
path: 'search/:query',
component: SearchComponent,
resolver: SearchResolver,
},
{
path: 'category/:category',
component: CategoryComponent,
resolver: CategoryResolver,
},
{
path: 'tag/:tag',
component: TagComponent,
resolver: TagResolver,
},

最新更新