Условное добавление параметров с использованием HttpParams и FromObject и использование переменной для имени ключа - PullRequest
0 голосов
/ 22 января 2019

Есть ли способ условно добавить параметр, используя 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'
  }
});

1 Ответ

0 голосов
/ 22 января 2019

Класс 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');
...