【发布时间】:2020-02-19 14:53:41
【问题描述】:
我实现了延迟加载并导致此错误。我看过很多帖子,但没有一个给出解决方案。
如何重现:
- 转到https://stackblitz.com/edit/angular-sxmpj8
- 点击订单标签
- 点击测试
预期:它会打开测试组件 实际:导致“未捕获(承诺中):错误:无法匹配任何路由。URL段:”错误
我正在尝试延迟加载具有两个组件订单和测试的订单模块。订单路线工作正常,但测试组件路线抛出错误。
申请地址为https://stackblitz.com/edit/angular-sxmpj8
在 orders-routing.module.ts 中路由定义如下:
const routes: Routes = [
{
path: '',
component: OrdersComponent,
children: [
{ path: 'test', component: TestComponent
}]
}
];
app-routing.module.ts 中的路由定义如下。
const routes: Routes = [
{
path: 'customers',
loadChildren: () => import('./customers/customers.module').then(m => m.CustomersModule)
},
{
path: 'orders',
// Tried this also
// loadChildren: './orders/orders.module#OrdersModule'
loadChildren: () => import('./orders/orders.module').then(m => m.OrdersModule)
},
{
path: '',
redirectTo: '',
pathMatch: 'full'
}
];
在 orders.component.ts 文件中我有一个条目
<button routerLink="/test">Test</button>
点击这个结果报错
错误 错误:未捕获(承诺):错误:无法匹配任何路由。 URL 段:“测试” 错误:无法匹配任何路由。 URL 段:“测试”
【问题讨论】:
-
您是否尝试重新启动服务器(运行
ng serve)? -
是的,没有运气。刷新 npm 缓存,运行 npm install
-
@Ningomba 我知道你在烦恼什么,但我不明白你想要什么?如果点击测试用户要去哪里?