• Как назначить обработчик события для каждого из элементов массива?

    Если нужно вешать событие на однотипный набор элементов, то лучшим решением будет повешать событие на их общего родительского элемента, а к самым элементам получать доступ внутри колбек-функции обработчика события через event.target.
    <ul id=parent>
      <li data-id="1">child 1</li>
      <li data-id="2">child 2</li>
      <li data-id="3">child 3</li>
    </ul>

    document.querySelector('#parent').addEventListener('click', event => {
      const id = event.target.getAttribute('data-id');
      if (!id) return;  // prevent event in non data-id elenent 
    
      // ... some code
    })
    Ответ написан
    Комментировать
  • Как из FormArray полей составить GET запрос?

    Может смогу помочь:
    onSubmit() {
        let urlParamsFromFB = [];
        this.requestForm.value.urlParams.forEach(param => { // проходимся циклом по значениях формы
          if (param.name && param.value) { // проверяем, что значения не квазиложные
            urlParamsFromFB.push( {name: param.name, value: param.value} ); // выбираем только name и value
          }
        })
    
        let urlParamsForHTTP = new HttpParams(); // создаем объект для query-параметров
        urlParamsFromFB.forEach(param => {
          urlParamsForHTTP = urlParamsForHTTP.set(param.name, param.value) // сэтаем сохранённые значения из формы 
        })                                                                 // в объект query-параметров.
                                                                           // Сам объект query-параметров должен перезаписываться по значению
    
        this.http.get('https://jsonplaceholder.typicode.com/users', {params: urlParamsForHTTP})  // делаем get-запрос, передав вторым аргументом
          .subscribe(data => console.log(data));                                                 // объект с полем params, равным объекту query-параметров.
        
      }
    Ответ написан
    Комментировать