Для сбора всех данных с формы в один массив в Angular, вы можете использовать подход, основанный на связывании данных (data binding) и использовании модели (model).
Первым шагом я рекомендую создать модель, которая будет отражать структуру данных вашей формы. Это позволит вам легко управлять данными в форме и собирать их в один массив. Для создания модели вы можете использовать TypeScript класс или интерфейс.
export interface FormData { firstName: string; lastName: string; email: string; // Добавьте здесь остальные поля формы в соответствии с их типами данных }
Затем в вашем компоненте Angular вы должны создать экземпляр этой модели и связать ее с элементами вашей формы с помощью директивы [(ngModel)]
. Это позволит автоматически обновлять данные в модели при изменении значений в форме.
<form> <input type="text" [(ngModel)]="formData.firstName" name="firstName"> <input type="text" [(ngModel)]="formData.lastName" name="lastName"> <input type="email" [(ngModel)]="formData.email" name="email"> <!-- Добавьте здесь остальные элементы формы в соответствии с их типами данных --> </form>
import { Component } from '@angular/core'; import { FormData } from './form-data.model'; @Component({ selector: 'app-form', templateUrl: './form.component.html', styleUrls: ['./form.component.css'] }) export class FormComponent { formData: FormData = { firstName: '', lastName: '', email: '' // Инициализируйте здесь остальные поля формы в соответствии с их типами данных }; onSubmit() { // Здесь вы можете собрать все данные из модели formData в один массив const dataArray = [this.formData.firstName, this.formData.lastName, this.formData.email]; console.log(dataArray); } }
В итоге, при отправке формы вы можете вызвать метод onSubmit()
, который будет собирать все данные из модели formData
в один массив dataArray
. В данном примере я собираю только первые три поля в массив, но вы можете добавить другие поля в массив в соответствии с их типами данных.
Этот подход позволяет легко управлять данными формы и собирать их в один массив в Angular.