Sobes.tech
Back to questions
Middle
3

Какие классические подходы к работе с формами в Angular?

Companies where asked
AstonAston

Answer from AI

sobes.tech AI

В Angular есть два классических подхода к работе с формами:

  1. Template-driven forms (формы, управляемые шаблоном)

    • Используют директивы в шаблоне (ngModel, ngForm).
    • Подход проще и подходит для небольших форм.
    • Валидация и логика формы описываются в HTML.
  2. Reactive forms (реактивные формы)

    • Управление формой происходит в компоненте через объекты FormGroup, FormControl.
    • Позволяют более гибко управлять состоянием и валидацией.
    • Подход лучше для сложных форм с динамическими элементами.

Пример реактивной формы:

import { FormGroup, FormControl, Validators } from '@angular/forms';

this.form = new FormGroup({
  username: new FormControl('', [Validators.required, Validators.minLength(3)]),
  email: new FormControl('', [Validators.required, Validators.email])
});

В шаблоне:

<form [formGroup]="form" (ngSubmit)="onSubmit()">
  <input formControlName="username">
  <input formControlName="email">
  <button type="submit">Отправить</button>
</form>

Выбор подхода зависит от сложности задачи и предпочтений команды.