angular - 嵌套在主路由中时辅助路由不起作用
问题描述
作为我的主要路线的孩子,我无法让辅助路线工作
我基本上有两条主要出口的路线 - auth 和包含整个应用程序的第二条路线。
在该应用程序路由 (RootComponent) 内,我有另一个主路由出口,其中包含主要应用程序视图(DashboardComponent 和 TasksComponent)和一个用于应呈现辅助视图(BacklogComponent 和 ProjectsComponent)的侧边栏的辅助路由出口。我似乎无法激活辅助路线。
如果我将辅助路由移动到 app.component.ts 中第一个出口的同级,它可以工作,但这显然意味着该路由位于我的主应用程序视图之外,即 RootComponent
我还尝试在 URL 栏中导航到 /dashboard(sidebar:backlog) 和 /(dashboard//sidebar:backlog)
应用程序路由.module.ts
const routes: Routes = [
{path: 'auth', component: AuthComponent},
{
path: '', component: RootComponent, children: [
{path: 'dashboard', component: DashboardComponent},
{path: 'tasks', component: TasksComponent},
{path: 'backlog', component: BacklogComponent, outlet: 'sidebar'},
{path: 'projects', component: ProjectsComponent, outlet: 'sidebar'}
]
},
{path: '**', redirectTo: ''}
];
app.component.html(应该呈现第一级。即 AuthComponent 或 RootComponent)
<a [routerLink]="['/dashboard']">dashboard</a>
<a [routerLink]="['/tasks']">tasks</a>
<a [routerLink]="[{ outlets: { sidebar: ['backlog'] } }]">backlog</a>
<a [routerLink]="[{ outlets: { sidebar: ['projects'] } }]">projects</a>
<a [routerLink]="[{ outlets: { sidebar: [] } }]">close</a>
<router-outlet></router-outlet>
root.component.html(包含主应用程序视图)
<router-outlet></router-outlet>
<router-outlet name="sidebar"></router-outlet>
当我尝试使用以下命令路由到 Backlog 时[routerLink]="[{ outlets: { sidebar: ['backlog'] } }]"
:core.js:9110 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'backlog'
解决方案
推荐阅读
- node.js - 编写文件 async node.js ,了解为什么不起作用
- android - GitHub GraphQl api v4 return "Cannot query field repository on type Query"
- javascript - JavaScript:尝试使用由于某种原因无法运行的类函数
- java - Loop is turning my negative integer positive in java
- ios - 在单个 UIButton 上有多个宽度约束是什么意思?
- python - 用色调颜色为极坐标图着色,在 0 处没有不连续性
- bash - 将 file_name 部分附加到文件的每一行,递归地附加到多个文件
- css - 如何将多个 css 文件和 javascript 文件编译成一个文件?
- go - 当你从一个频道读取并且你正在推送到另一个频道时,你如何编写一个不会挂起的函数
- android - androidx.appcompat.view.menu.ActionMenuItemView 无法转换为 android.view.MenuItem