要在Angular 6中传递多个路由参数,可以使用路由参数数组的形式。以下是一个示例解决方法:
在定义路由时,可以在路由路径中使用冒号(:)来指定参数的名称。例如:
const routes: Routes = [
{ path: 'user/:id', component: UserComponent }
];
在组件中,可以通过ActivatedRoute服务访问路由参数。首先在组件的构造函数中注入ActivatedRoute:
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute) { }
然后,在组件的ngOnInit方法中获取路由参数。可以使用params.subscribe方法来订阅路由参数的变化,并在回调函数中处理参数:
ngOnInit() {
this.route.params.subscribe(params => {
const id = params['id'];
const param1 = params['param1'];
const param2 = params['param2'];
// 处理参数
console.log(id);
console.log(param1);
console.log(param2);
});
}
在上面的示例中,用户访问/user/123/param1Value/param2Value时,id参数将为123,param1参数将为param1Value,param2参数将为param2Value。
这样,你就可以在Angular 6中传递和获取多个路由参数了。
下一篇:Angular 6多字段过滤器