我什么时候应该使用路由器插座?显然我的app.component中有1个,但是还有哪些其他用例?
在我的用户组件SUM(IF [FTR] = 'AWins' OR [FTR] = 'Hwins' THEN 1 END)/COUNTD([game-date-id])
中放置1以显示帖子列表(user/:id)
似乎是一个好主意,但是似乎没有办法将(user/:id/posts)
数据注入到我认为这是个坏主意。
我很想听听对此的一些想法。
编辑:我的这篇文章特别是关于路由器插座如何无法直接接收数据,而我认为这有悖于它自己的目的。
答案 0 :(得分:1)
<router-outlet></router-outlet>
本质上是从@angular/router
公开的指令。在我们的Routes
配置中,我们指定path
和component
,当到达该路径时,预计将加载它们。
但是Angular不知道应该在哪里注入该Component模板。我们通过指定<router-outlet></router-outlet>
来告诉Angular。
本质上,它充当了应该通过路由加载的组件的容器区域。
您将其放置在哪里完全取决于所使用的路由配置的类型。
对于子路由,如果要指定将基于路由再次加载的组件,则也可以在该父路由组件中指定<router-outlet></router-outlet>
。
看看这个Routes
的配置,例如:
const appRoutes: Routes = [
{ path: 'home', component: HomeComponent },
{ path: 'about', component: AboutComponent },
{ path: 'blog', component: BlogComponent, canActivate: [ ActivateGuard ] },
{ path: 'messages', component: MessageListComponent, canDeactivate: [ DeactivateGuard ] },
{ path: 'parent', component: ParentComponent },
{ path: 'bd', component: BuiltInDirectivesComponent },
{ path: 'cd', component: CustomDirectivesComponent },
{ path: 'new-user', component: NewUserComponent },
{ path: 'new-user-reactive', component: NewUserReactiveComponent },
{
path: 'users',
component: UsersComponent,
children: [
{ path: ':userId', component: UserDetailsComponent },
{ path: '', component: PlaceholderComponent }
]
},
{ path: '**', redirectTo: '/home', pathMatch: 'full' }
];
现在说,如果我想显示UsersComponent
的用户列表,也要在左侧显示。在右侧,我需要从列表中显示所选用户的详细信息。
在这种情况下,<router-outlet></router-outlet>
模板中将有一个AppComponent
。然后,<router-outlet></router-outlet>
模板中还会有另一个UsersComponent
。希望现在清楚了。