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

我在以下方面找不到解决方案:


如果要访问queryParams,则必须在快照对象上使用queryParamMap

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);
      }
    }