有没有办法使用 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'
}
});
最佳答案
HttpParams 类是不可变的,因此任何添加或追加操作都会返回一个新对象。因此你的 params 变量不能是 const ,将其更改为 让 .
然后,每次需要操作时,只需将参数设置为返回值:
let params = new HttpParams({
fromObject : {
requiredParam: 'requiredParam'
}
});
if (addOptionalParam)
params = params.append('optionalParamKey', 'optionalParamValue');
关于您的第二个问题,请改用 set 或 append ,如下所示:
const constParamKey = 'myKey';
params = params.append(constParamKey , 'Value');
关于angular - 使用 HttpParams 和 FromObject 有条件地添加参数并使用变量作为键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54314122/