在Angular中,可以使用urlencode编码将URL中的等号=
进行转义。
示例代码如下:
import { Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { HttpParams } from '@angular/common/http';
@Component({
selector: 'app-my-component',
template: '{{myParam}}
', // 显示参数值
})
export class MyComponent {
myParam: string;
constructor(private activatedRoute: ActivatedRoute) {}
ngOnInit() {
this.activatedRoute.queryParams.subscribe((params) => {
let myParam = params['myParam'];
myParam = decodeURIComponent(myParam.replace(/\+/g, ' ')); // 将URL编码的`+`字符串替换为空格
this.myParam = myParam;
});
}
}
在路由导航时,可以使用HttpParams
来将参数进行编码,并通过params
选项来传递编码后的参数。
示例代码如下:
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { HttpParams } from '@angular/common/http';
@Component({
selector: 'app-my-component',
template: `
`,
})
export class MyComponent {
navigate() {
const params = new HttpParams().set('myParam', 'hello=world');
this.router.navigate(['/target-route'], { queryParams: params });
}
}