如何从 Angular 6 中的路由参数获取多个 ID?
How to get multiple ids from route param in Angular 6?
我想获取我在 Angular 中使用 route.params 进行路由时传递的多个 ID。
这是 route.ts
{path:'section/:id/:id', component: SubsectionsComponent}
这就是我从 component.ts
路由的方式
onSectionClick(id1, id2){
this.router.navigate(['/path/',id1,id2], {relativeTo:this.route})
}
这就是我在其路由的组件中获取的方式。
constructor(private route: ActivateRoute){}
this.route.params.subscribe(
(route)=>{
console.log(route)
}
)
但它只从参数中记录一个 id。
路由中的参数不能有重复名称,否则会覆盖值。
像这样使用其他名称。
{path:'section/:id/:id1', component: SubsectionsComponent}
您应该在路径中使用不同的名称。例如:
{path:'section/:id1/:id2', component: SubsectionsComponent}
然后就变得很简单了:
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute) {
this.route.paramMap.subscribe( params => {
this.id_1 = params.get('id1');
this.id_2 = params.get('id2');
});
}
我想获取我在 Angular 中使用 route.params 进行路由时传递的多个 ID。 这是 route.ts
{path:'section/:id/:id', component: SubsectionsComponent}
这就是我从 component.ts
路由的方式onSectionClick(id1, id2){
this.router.navigate(['/path/',id1,id2], {relativeTo:this.route})
}
这就是我在其路由的组件中获取的方式。
constructor(private route: ActivateRoute){}
this.route.params.subscribe(
(route)=>{
console.log(route)
}
)
但它只从参数中记录一个 id。
路由中的参数不能有重复名称,否则会覆盖值。
像这样使用其他名称。
{path:'section/:id/:id1', component: SubsectionsComponent}
您应该在路径中使用不同的名称。例如:
{path:'section/:id1/:id2', component: SubsectionsComponent}
然后就变得很简单了:
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute) {
this.route.paramMap.subscribe( params => {
this.id_1 = params.get('id1');
this.id_2 = params.get('id2');
});
}