Формы¶
Манипуляция формами (Angular forms) осуществляется мощными и продуманными инструментами библиотеки @angular/forms.
С точки зрения Angular различают формы:
- Стандартные (Template-driven);
 - Реактивные (Reactive).
 
Данная глава посвящена рассмотрению стандартных форм, реактивные рассмотрены отдельно.
Для создания Angular форм импортируйте FormsModule из @angular/forms.
Не забудьте добавить FormsModule в корневой модуль.
Начнем с создания обычной HTML-формы логина.
1 2 3 4 5 6 7 8 9 10 11 12  |  | 
Для работы со значениями полей Angular формы создадим в классе компонента свойство loginForm, которое является отображением модели формы.
1 2 3 4  |  | 
Чтобы связать объект loginForm с соответствующими полями, используется директива [(ngModel)].
1 2 3 4 5 6 7  |  | 
Запись вида [()] является комбинированием двух механизмов передачи данных в Angular, каждый из которых работает только в одностороннем режиме. [] — это передача данных из переменной в поле (свойство @Input()), () — из поля в переменную (свойство @Output()).
Так для задания полю "Логин" значения по умолчанию, переменная loginForm должна быть определена следующим образом:
1 2 3 4  |  | 
Чтобы убедиться, что данные передаются и из Angular формы в обратную сторону, создадим метод printForm(), который будет выводить значение в консоль.
1 2 3  |  | 
Теперь соединим все описанное выше в одно.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  |  | 
Заполнив поля Angular формы, нажмите кнопку "Войти" и проверьте консоль, чтобы убедиться, что данные успешно были переданы в класс компонента.
Валидация форм рассмотрена отдельно.