正在开发的应用程序托管在 iframe 中。
我在我的应用程序中配置了以下路由:
const routes: Routes = [
{
path: '',
pathMatch: 'full',
redirectTo: 'list'
},
{
path: 'list',
component: ListComponent,
canActivate: [CanActivateRoute]
},
{
path: 'dashboard',
loadChildren: './modules/dashboard/dashboard.module#DashboardModule'
}
];
@NgModule({
imports: [RouterModule.forRoot(routes, { enableTracing: true })],
exports: [RouterModule],
providers: []
})
export class AppRoutingModule { }
在ListComponent
,OnInit
方法中,我使用了以下代码来获取查询字符串参数:
this.router.events.subscribe(val => {
if (val instanceof RoutesRecognized) {
console.log("val.state.root.firstChild.params: " + val.state.root.firstChild.params);
}
});
const firstParam: string = this.route.snapshot.queryParamMap.get('id');
这些似乎都不起作用。我的应用程序的网址如下:
https://company.com/#/app-dev/list?id=3
QueryParamMap
或者RoutesRecongnized
似乎没有在 url 中获得查询字符串“id=3”。它总是返回 null。
谁能帮助我如何从 Angular 应用程序中的 url 检索查询参数/查询字符串?