Формы с Angular Signals
Signal Forms — библиотека для управления состоянием форм в приложениях Angular на реактивной основе сигналов. С автоматической двусторонней привязкой, типобезопасным доступом к полям и валидацией на основе схем Signal Forms помогают создавать надёжные формы.
СОВЕТ: Краткое введение в Signal Forms см. в руководстве по основам Signal Forms.
Зачем Signal Forms?
Создание форм в веб-приложениях включает управление несколькими взаимосвязанными задачами: отслеживание значений полей, валидация ввода, обработка состояний ошибок и синхронизация UI с моделью данных. Управление этими задачами по отдельности создаёт шаблонный код и сложность.
Signal Forms решают эти задачи за счёт:
- Автоматической синхронизации состояния — автоматически синхронизируют модель данных формы с привязанными полями
- Типобезопасности — поддерживают полностью типобезопасные схемы и привязки между UI-контролами и моделью данных
- Централизации логики валидации — все правила валидации определяются в одном месте с помощью схемы валидации
Signal Forms лучше всего подходят для новых приложений, построенных на сигналах. Если вы работаете с существующим приложением на reactive forms или вам нужны гарантии production-стабильности, reactive forms остаются надёжным выбором.
ПРИМЕЧАНИЕ: Если вы пришли из template-driven или reactive forms, вам может быть интересно руководство по сравнению.
Предварительные требования
Signal Forms требуют:
- Angular v21 или выше
Настройка
Signal Forms уже включены в пакет @angular/forms. Импортируйте необходимые функции и директивы из @angular/forms/signals:
import {form, FormField, required, email} from '@angular/forms/signals';
Директиву FormField нужно импортировать в любой компонент, который привязывает поля формы к HTML-inputs:
Следующие шаги
Чтобы узнать больше о том, как работают Signal Forms, см. следующие руководства: