4

有没有办法使用 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'
  }
});
4

1 回答 1

8

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');
于 2019-01-22T19:40:39.150 回答