Angular 角度:如何使用路由路径发送参数?
假设我有三个不同的API来描述类别(汽车、颜色、食物)。在Angular 角度:如何使用路由路径发送参数?,angular,routing,Angular,Routing,假设我有三个不同的API来描述类别(汽车、颜色、食物)。在routerLink中,我使用此routerLink=“/{{element.name}}”并在我的模块中使用: path: ':id', component: ListComponent 现在,当我路由它时,它会变成这样:localhost:4200/red,这对我来说很好,但是我如何使用这个URL发送一些独特的东西,以确保元素是彩色的,并在代码中的某个地方处理它呢?使用类似这样的东西: export const routes:
routerLink
中,我使用此routerLink=“/{{element.name}}”
并在我的模块中使用:
path: ':id',
component: ListComponent
现在,当我路由它时,它会变成这样:
localhost:4200/red
,这对我来说很好,但是我如何使用这个URL发送一些独特的东西,以确保元素是彩色的,并在代码中的某个地方处理它呢?使用类似这样的东西:
export const routes: Routes = [
//...
{ path: 'colors/:color', component: ColorsComponent },
//...
];
您可以在模板中使用以下路径:
<a [routerLink]="['/colors', 'red']">Something</a>
当然,红色也可以是一个变量。
您可以在组件的ngOnInit()
中订阅此参数:
你也可以在汽车和食物上使用这种方法
更新: 如果要传递传统的“参数”。您可以尝试以下方法:
{
path: 'colors/:color',
component: ColorComponent,
data: {someValue: 123}
}
在组件中,可以使用
this.route.data
访问它。URL仍然如下所示:例如:localhost:4200/colors/red
。使用如下内容:
export const routes: Routes = [
//...
{ path: 'colors/:color', component: ColorsComponent },
//...
];
您可以在模板中使用以下路径:
<a [routerLink]="['/colors', 'red']">Something</a>
当然,红色也可以是一个变量。
您可以在组件的ngOnInit()
中订阅此参数:
你也可以在汽车和食物上使用这种方法
更新: 如果要传递传统的“参数”。您可以尝试以下方法:
{
path: 'colors/:color',
component: ColorComponent,
data: {someValue: 123}
}
在组件中,可以使用
this.route.data
访问它。URL仍然如下所示:localhost:4200/colors/red
例如。好吧,传递类别及其值:/colors/red,或/cars/ford,或/food/bread。可能重复的好吧,传递类别及其值:/colors/red,或/cars/ford,或/food/bread。可能重复的完美!但是我如何才能使我的url像这样localhost:4200/red
,但在我的函数中,我想发送id
而不是名称,这样我需要显示用户的“red”字,但实际上值是id
,在我的代码中,url将像这样(例如):localhost:4200/colors/red
,以及参数['color']将值“red”作为字符串。是否要向组件发送一个附加参数而不在URL中显示它?是的,例如,如果我有localhost:4200/red/123
我希望用户像这样显示URLlocalhost:4200/red
,但在我的函数中,我将忽略汽车并处理id 123。太好了,但是我在哪里可以将123从html传递到传统参数呢?太好了!但是我如何才能使我的url像这样localhost:4200/red
,但在我的函数中,我想发送id
而不是名称,这样我需要显示用户的“red”字,但实际上值是id
,在我的代码中,url将像这样(例如):localhost:4200/colors/red
,以及参数['color']将值“red”作为字符串。是否要向组件发送一个附加参数而不在URL中显示它?是的,例如,如果我有localhost:4200/red/123
我希望用户像这样显示URLlocalhost:4200/red
,但在我的函数中,我将忽略汽车并处理id 123。太好了,但是在哪里可以将123从html传递到传统参数?