Angular 从具有特殊字符的 Url 获取参数

Angular Get Parameter from Url with Special Character

我的路线是

{
                path: 'purchase/:discountCode',
                component: PurchaseComponent,
            },
            {
                path: 'purchase/:msg',
                component: PurchaseComponent,
            },

我的输入 url 是

www.example.com/purchase?msg='test message'
or
www.example.com/purchase?discountCode=1111111

我想获取消息或折扣代码

  this.routerParmsSub = this.route.params.subscribe(params => {
      if (params['discountCode']) {
        //save discountCode

      } else if (params['msg']) {
    //save msg
      }

但只有当我的 url 是

   www.example.com/purchase;msg='test message'
    or
    www.example.com/purchase;discountCode=1111111

can get parameter instead ? is ;

并且当输入 url 是

www.example.com/purchase/1111111

路由到折扣码

我的angular版本是7

你可以这样做

import {ActivatedRoute} from '@angular/router';
...

constructor(private route:ActivatedRoute){}
dicountCode:string;

ngOnInit(){
    this.dicountCode = this.route.snapshot.params['dicountCode'];
}

如果你想访问查询参数,你可以通过以下方式进行

this.route.snapshot.queryParamMap.get('dicountCode');