现在HttpParams
是不可变的,你应该设置参数如下:
// for set method
let params: HttpParams = new HttpParams().set('something', 'hello');
// for append method
let params: HttpParams = new HttpParams().append('something', 'hello');
HttpParams's set
and append
方法会覆盖原来的params
最新更新的实例set
and append
,最后返回新实例。
所以我们可以用多行来完成,如下所示:
let params: HttpParams = new HttpParams();
params = params.set('something', 'hello');
params = params.append('something2', 'hello2');
笨蛋演示
重要的:
从 Angular v5.0.0 开始,您可以使用fromObject
from HttpParamOptions
同时添加多个参数。
const param = new HttpParams({fromObject: {aaa: '1', bbb: '222'}});
还可以设置object
参数为HttpClient
直接方法
const obj = {aaa: '1', bbb: '222'};
this.http.get('test', { params: obj}).subscribe();
Refer demo,对于第二种方式,请检查浏览器的网络以确认参数已添加成功。