【发布时间】:2020-06-09 04:15:40
【问题描述】:
我创建了一个产品文件夹,其中包含 products-home.component(parent) 和 products-list.component(child) 并命名为 outlet。
使用延迟加载导航到products-list 时,我得到Error: Cannot match any routes. URL Segment: 'products'。
当它被急切加载时,这是有效的
app.module.ts
@NgModule({
imports: [ ...,ProductsModule ]
})
products.module.ts
@NgModule({
imports: [
RouterModule.forRoot([
{
path: "products",
component: ProductsHomeComponent,
children: [
{
path: "products-list",
component: ProductsComponent,
outlet: "content"
}
]
}
])
]
})
这在延迟加载时不起作用
app.module.ts
const LazyRoutes: Routes = [
{
path: 'products',
loadChildren: './products/products.module#ProductsModule'
}
];
@NgModule({
imports: [ RouterModule.forRoot(LazyRoutes) ]
})
products.module.ts
@NgModule({
imports: [
RouterModule.forChild([
{
path: "",
component: ProductsHomeComponent,
children: [
{
path: "products-list",
component: ProductsComponent,
outlet: "content"
}
]
}
])
]
})
【问题讨论】:
-
我不认为这是可以实现的。 Here's 进行了一些尝试的 SB 演示。
-
@AndreiGătej 你的 stackblitz 不起作用,我遇到了同样的错误
Error: Cannot match any routes. URL Segment: 'products' -
这就是我的意思,我认为没有办法做到这一点,因为 ProsudtHomeComp 的路径是空的。它不会是空的,它会工作
标签: angular angular-routing angular-lazyloading