是否可以使用HttpParams和fromObject有条件地添加参数?我尝试在实例化HttpParams之后添加条件参数,但这没有用:
const params = new HttpParams({
fromObject : {
requiredParam: 'requiredParam'
}
});
if (addOptionalParam)
params.append('optionalParamKey', 'optionalParamValue');
还可以将常量用作fromObject参数的键吗?我试过了,但不起作用:
const ConstantVariableForKeyName = 'key';
const params = new HttpParams({
fromObject : {
{{ConstantVariableForKeyName}}: 'paramValue'
}
});
答案 0 :(得分:2)
HttpParams类是不可变的,因此任何添加或追加操作都将返回一个新对象。因此,您的params变量不能是 const ,请将其更改为 let 。
然后,只需在每次需要操作时将参数设置为返回值:
let params = new HttpParams({
fromObject : {
requiredParam: 'requiredParam'
}
});
if (addOptionalParam)
params = params.append('optionalParamKey', 'optionalParamValue');
关于第二个问题,请使用set或append,如下所示:
const constParamKey = 'myKey';
params = params.append(constParamKey , 'Value');