使用 HttpParams 和 FromObject 有条件地添加参数并使用变量作为键名
Conditionally adding parameters using HttpParams and FromObject and using a variable for the key name
有没有办法使用 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 class 是不可变的,因此任何添加或追加操作 returns 都是一个新对象。因此,您的 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');
有没有办法使用 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 class 是不可变的,因此任何添加或追加操作 returns 都是一个新对象。因此,您的 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');