使用 set()
来自set() 的 Angular 官方文档
set(param: string, value: string | number | boolean): HttpParams
返回 HttpParams:具有新值的新主体。
现在,让我们看看如何添加一些参数 -
const params = new HttpParams()
.set('aaa', '111')
.set('bbb', "222");
请注意,我们通过链接 set() 方法来构造 HTTPParams 对象。原因是HTTPParams 是不可变的。
每次调用 set 方法都会返回一个带有新值的新 HttpParams 对象。我们需要首先获取返回的 HttpParams 对象,然后使用它进行进一步修改。
因此,如果我们执行以下操作,它将不起作用
const params = new HttpParams(); // empty HttpParams object
params.set('aaa', '111'); // lost
params.set('bbb', "222"); // lost
我们只调用set
但不保留返回的HttpParams
对象。因此,最后我们将有一个空的 HttpParams 对象,并且对 set 的两次调用将没有任何效果。为了使其工作,我们需要执行以下操作 -
const params = new HttpParams(); // empty HttpParams object
params = params.set('aaa', '111'); // storing the returned HttpParams object, now **it has aaa**
params = params.set('bbb', "222"); // add another parameter and store it. so now **it has both aaa and bbb**
使用 fromString
您还可以使用 fromString 创建 httpParams。当您已经准备好查询参数字符串时,这很好。你可以使用以下语法来做到这一点
const params = new HttpParams({
fromString: 'aaa=111&bbb=222'
});