编辑:实际上,如果我在子级DancersAddComponent
中执行此查询,则可以,但是如果我在父级路由DancersComponent
中进行查询,则不会
使用angular 9,我有一个主模块路由,它将根据应用程序状态返回正确的模块以进行加载=>
const splitter = () =>
import('@app/app-routing-handler.module').then((module) => module.AppRoutingHandlerModule)
const routes: Routes = [
{
path: '',
loadChildren: splitter,
},
]
然后在“我的应用程序”中有许多模块,每个模块都用自己的路由延迟加载模块。
当我输入不同的URL时,一切正常,显示正确的组件。
在我的子路由模块之一中,我具有以下路由
const routes: Routes = [
{
path: '',
component: DancersComponent,
children: [
{
path: 'dancers/:id/add,
component: DancersAddComponent,
},
],
},
]
我尝试使用以下方法在DancersComponent中获取路线参数id
constructor(private route: ActivatedRoute) {}
ngOnInit(): void {
this.route.paramMap.subscribe((params: ParamMap) => {
console.log(params)
})
}
但这些参数始终为空。
我相信是因为它是嵌套在另一个模块中的路由,也嵌套在另一个路由中。
有没有办法获取那些子路由的参数?
答案 0 :(得分:0)
发现,使用
this.route.firstChild.paramMap.subscribe((params: ParamMap) => {
console.log(params)
})