Angular Can';无法从ActivatedRoute获取查询参数
我在路由模块中定义了如下路由:Angular Can';无法从ActivatedRoute获取查询参数,angular,angular-ui-router,Angular,Angular Ui Router,我在路由模块中定义了如下路由: { path: 'warning/:type', component: WarningPageComponent } 当应用程序想要导航到警告页面时,会拨打此电话: const navigationExtras: NavigationExtras = { queryParamsHandling: 'preserve', queryParams: { errorCode: '12345'} }; return this.
{ path: 'warning/:type', component: WarningPageComponent }
当应用程序想要导航到警告页面时,会拨打此电话:
const navigationExtras: NavigationExtras = {
queryParamsHandling: 'preserve',
queryParams: { errorCode: '12345'}
};
return this.router.navigate(['/warning/default'],navigationExtras);
在WarningPageComponent
中,参数的读取方式如下ngOnInit()
:
现在的问题是,paramMap
中只存在类型
,而不存在errorCode
。这里怎么了?我还尝试了queryParamsHandling:“preserve”
角度8.2.14
我在以下方面找不到解决方案:
const queryParams = this.route.snapshot.queryParamMap;
const errorCode = queryParams.get('errorCode') ?? undefined;
这样做可以在构造函数中获取参数
import { ActivatedRoute } from '@angular/router';
export class DashboardComponent implements OnInit, AfterViewChecked, OnDestroy {
queryParams: any;
constructor(private activatedRoute: ActivatedRoute) {
this.queryParams = Utils.paramsToLower(this.activatedRoute.snapshot.queryParams);
}
}
不起作用
queryParams
是空的吗?您可以在回答中提供一些背景信息,为什么必须是queryParamMap
而不是paramMap
?@Chriss
import { ActivatedRoute } from '@angular/router';
export class DashboardComponent implements OnInit, AfterViewChecked, OnDestroy {
queryParams: any;
constructor(private activatedRoute: ActivatedRoute) {
this.queryParams = Utils.paramsToLower(this.activatedRoute.snapshot.queryParams);
}
}