gpt4 book ai didi

angular-routing - 您可以在父路由器 socket 中显示您的子路由吗?

转载 作者:行者123 更新时间:2023-12-02 04:28:45 28 4
gpt4 key购买 nike

主要问题:有没有办法显示到父路由器导出的子路由?

考虑 Angular.io 中的这个例子路由器指南。

主要路线片段:

  const appRoutes: Routes = [
...
{
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule',
canLoad: [AuthGuard]
},
{
path: 'crisis-center',
loadChildren: 'app/crisis-center/crisis-center.module#CrisisCenterModule',
data: { preload: true }
},
....
];

主要组件片段:
@Component({
selector: 'app-root',
template: `
<h1 class="title">Angular Router</h1>
<nav>
<a routerLink="/crisis-center" routerLinkActive="active">Crisis Center</a>
<a routerLink="/superheroes" routerLinkActive="active">Heroes</a>
<a routerLink="/admin" routerLinkActive="active">Admin</a>
...
</nav>
<router-outlet></router-outlet>
`
})

危机中心路线片段:
const crisisCenterRoutes: Routes = [
{
path: '',
component: CrisisCenterComponent,
children: [
{
path: '',
component: CrisisListComponent,
children: [
{
path: ':id',
component: CrisisDetailComponent,
...
},
{
path: '',
component: CrisisCenterHomeComponent
}
]
}
]
}
];

危机列表组件片段:
@Component({
template: `
<ul class="items">
<li *ngFor="let crisis of crises$ | async"
[class.selected]="crisis.id === selectedId">
<a [routerLink]="[crisis.id]">
<span class="badge">{{ crisis.id }}</span>{{ crisis.name }}
</a>
</li>
</ul>

<router-outlet></router-outlet>
`
})

CrisisDetailComponent 片段:
@Component({
template: `
<div *ngIf="crisis">
<h3>"{{ editName }}"</h3>
...
</div>
`
})

这个路由器的输出是这样的:

enter image description here

所以。我想说的是当你点击说 火龙城 ,而不是在下面显示,为什么不直接显示在危机列表组件级别呢?

我能想到的就是使用 *ngIf 像这样在 危机列表组件 :
@Component({
template: `
<ul class="items" *ngIf="a list is selected hide this!!!">
<li *ngFor="let crisis of crises$ | async"
[class.selected]="crisis.id === selectedId">
<a [routerLink]="[crisis.id]">
<span class="badge">{{ crisis.id }}</span>{{ crisis.name }}
</a>
</li>
</ul>

<router-outlet></router-outlet>
`
})

是否想在此父路由导出上将子路由器设置为此显示?

谢谢。我希望我把我的问题说清楚了。

最佳答案

我认为您可以通过在 <router-outlet> 中添加名称来实现选择器并将具有该名称的 socket 属性添加到子路由。
HTML:

<router-outlet name="test"></router-outlet>

child 路线模块:
path: '',
component: CrisisCenterComponent,
outlet: "test"

试试看,这个 child 的嵌套路线可能会遇到一些问题。

关于angular-routing - 您可以在父路由器 socket 中显示您的子路由吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50945809/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com