angular - Angular 11嵌套命名路由器出口
问题描述
我有以下路由器:
const appRoutes: Routes = [
{ path: '', component: LoginComponent},
{ path: 'login', component: LoginComponent },
{ path: 'main', component: MainComponent, canActivate: [AuthGuard], children: [
{ path: 'client', component: ClientComponent, outlet: 'c', children: [
{ path: 'clientinfo', component: ClientInfoComponent, outlet: 'i', children: [
{ path: 'cafe', component: ClientCafeComponent},
{ path: 'membership', component: ClientMembershipComponent },
{ path: 'pt', component: ClientPtComponent }
] }
] },
{ path: 'coach', component: CoachComponent, outlet: 'c'}] },
,
];
如何使用 [routerLink] = '.....' 从 ClientComponent 加载 ClientInfoComponent 和从 ClientInfoComponent 加载 ClientMembershipComponent ?
我试过类似的东西:
[routerLink]="['/main/(c:client)/(i:clientinfo/)']"
但没有运气
提前致谢
解决方案
最后,我发现了我的问题的一个问题,并想分享它。我重写了我的路线如下:
const appRoutes: Routes = [
{ path: '', redirectTo: 'login', pathMatch: 'full'},
{ path: 'login', component: LoginComponent },
{ path: 'main', component: MainComponent, canActivate: [AuthGuard], children: [
{ path: 'client', component: ClientComponent, canActivate: [AuthGuard], outlet: 'c' },
{ path: 'client/clientinfo', component: ClientInfoComponent, outlet: 'c', children: [
{ path: 'cafe', component: ClientCafeComponent},
{ path: 'membership', component: ClientMembershipComponent },
{ path: 'pt', component: ClientPtComponent }
] },
{ path: 'coach', component: CoachComponent, outlet: 'c'}] },
];
在 ClientComponent 中:
[routerLink]="['/main', { outlets: { c: ['client', 'clientinfo']}}]"
希望能帮助那里的人。
推荐阅读
- c - 处理 QEMU 设备中配置空间的 PCI 读/写
- r - 如何根据分类变量将图例分成多个组
- javascript - 使用节点如何将我的 ES6-export-default 模块导入我的命令行 javascript 程序?
- c++ - Windows 10 中的 boost::filesystem::remove_all 有问题
- sql - SQL 确定具有相同成员的团队
- python-3.x - 如何正确访问 3D-Pytorch-Tensor 中的元素?
- python - 使用 BeautifulSoup 从 Github 页面中提取文件名列表
- html - 如何在此表上放置图像并使位置响应
- kubernetes - 如何从本地 PC 运行 Kubernetes?
- oracle - 我正在努力理解用户定义的函数,以及如何在查询中调用它们