要从父路由中获取路由参数,可以使用Angular的ActivatedRoute服务。
首先,在父路由的组件中导入ActivatedRoute服务:
import { ActivatedRoute } from '@angular/router';
然后在构造函数中注入ActivatedRoute服务:
constructor(private route: ActivatedRoute) { }
接下来,可以在ngOnInit生命周期钩子函数中使用route.parent来访问父路由,并使用snapshot.params来获取父路由的路由参数。例如:
ngOnInit() {
const parentId = this.route.parent.snapshot.params['parentId'];
console.log(parentId);
}
在上面的示例中,假设父路由的参数名为"parentId"。通过调用this.route.parent.snapshot.params['parentId'],可以获取到父路由的参数值,并将其存储在parentId变量中。
请注意,使用snapshot.params可以只获取一次路由参数。如果需要动态地获取路由参数的变化,可以使用ActivatedRoute的params订阅方法。例如:
ngOnInit() {
this.route.parent.params.subscribe(params => {
const parentId = params['parentId'];
console.log(parentId);
});
}
上面的示例中,使用this.route.parent.params.subscribe方法来订阅父路由参数的变化。每当父路由参数发生变化时,都会执行回调函数并获取最新的参数值。
这样,就可以从父路由中获取路由参数了。