我有一個如下所示的 Routes 常量,我需要在 MachineGroupComponent 內的 ngOnInit 中獲取 configurationId 引數。this.route.snapshot.paramMap.get('configurationId') 回傳 null。
我該怎么做?
const routes: Routes = [
{
path: '',
component: ConfigurationsComponent,
children: [
{
path: '',
component: ConfigurationsListComponent
},
{
path: ':configurationId',
component: ConfigurationComponent,
children: [
{
path: '',
component: MachineGroupsComponent
},
{
path: ':machineGroupId',
component: MachineGroupComponent
},
]
},
]
},
];
uj5u.com熱心網友回復:
我有同樣的問題,添加paramsInheritanceStrategy: 'always'您的app-routing.module.ts,您將能夠正常獲取以前的路由器引數。
像這樣:
@NgModule({
imports: [RouterModule.forRoot(routes), RouterModule.forRoot(routes, {
paramsInheritanceStrategy: 'always'
})],
exports: [RouterModule],
})
如果您想了解更多資訊,請參閱此處的檔案。
uj5u.com熱心網友回復:
要獲取引數值,您可以使用 ActivatedRoute
constructor(private activatedRoute: ActivatedRoute) {
this.activatedRoute.queryParams.subscribe(params => {
let param = params['yourParam'];
console.log(param);
});
}
uj5u.com熱心網友回復:
我們可以遍歷activatedRoute來獲取父引數
試試這個
ngOnInit() {
this.activatedRoute.root.firstChild.root.firstChild.firstChild.paramMap.subscribe(
(params) => {
console.log(params.get('configurationId'));
}
);
}
uj5u.com熱心網友回復:
試試這個
ngOnInit() {
// Get parent ActivatedRoute (this.route) of this route.
this.route.parent.params.forEach((params: Params) => {
this.configurationId = params["configurationId"];
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/480874.html
標籤:有角度的
