在Angular中,可以使用HttpParams
类来构建URL参数。但是,有时候参数可能不会正确地附加到HttpParams
,这可能是因为HttpParams
是不可变的,每次添加参数时都会返回一个新的实例。下面是一个解决方法的示例代码:
import { HttpClient, HttpParams } from '@angular/common/http';
// ...
constructor(private http: HttpClient) { }
// ...
// 在请求中添加参数
addParams() {
let params = new HttpParams();
params = params.append('param1', 'value1');
params = params.append('param2', 'value2');
this.http.get('/api/data', { params: params }).subscribe(
res => {
console.log(res);
},
error => {
console.error(error);
}
);
}
在上面的代码中,我们首先创建一个空的HttpParams
实例。然后,使用append()
方法将参数添加到HttpParams
中,并将返回的新实例重新赋值给params
变量。最后,将params
变量作为参数传递给http.get()
方法。
这样,每次添加参数时都会创建一个新的HttpParams
实例,并将参数正确地附加到其中。