Использование форм для ввода данных пользователем¶
Это руководство основано на шаге Управление данными учебника Начните работу с базовым приложением Angular.
В этом разделе вы узнаете, как добавить функцию оформления заказа на основе формы для сбора информации о пользователе в процессе оформления заказа.
Определите модель формы оформления заказа¶
Этот шаг показывает, как определить модель формы оформления заказа в классе компонента. Модель формы определяет состояние формы.
1. Откройте cart.component.ts.
2. Импортируйте сервис FormBuilder из пакета @angular/forms. Этот сервис предоставляет удобные методы для генерации элементов управления.
| src/app/cart/cart.component.ts | |
|---|---|
1 2 3 4 | |
3. Вставьте сервис FormBuilder в конструктор() компонента CartComponent. Этот сервис является частью модуля ReactiveFormsModule, который вы уже импортировали.
| src/app/cart/cart.component.ts | |
|---|---|
1 2 3 4 5 6 | |
4. Чтобы собрать имя и адрес пользователя, используйте метод FormBuilder group() для установки свойства checkoutForm в модель формы, содержащую поля name и address.
| src/app/cart/cart.component.ts | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
5. Определите метод onSubmit() для обработки формы. Этот метод позволяет пользователям вводить свое имя и адрес. Кроме того, этот метод использует метод clearCart() службы CartService для сброса формы и очистки корзины. Весь класс компонента корзины выглядит следующим образом:
| src/app/cart/cart.component.ts | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
Создание формы оформления заказа¶
Используйте следующие шаги, чтобы добавить форму оформления заказа в нижней части представления "Корзина".
1. В нижней части cart.component.html добавьте элемент HTML <form> и кнопку Покупка.
2. Используйте привязку свойства formGroup для привязки checkoutForm к HTML <form>.
| src/app/cart/cart.component.html | |
|---|---|
1 2 3 | |
3. В теге form используйте привязку события ngSubmit для прослушивания отправки формы и вызова метода onSubmit() со значением checkoutForm.
| src/app/cart/cart.component.html | |
|---|---|
1 2 3 4 | |
4. Добавьте поля <input> для name и address, каждое с атрибутом formControlName, который связывает с элементами управления формы checkoutForm для name и address их поля <input>.
Полный компонент выглядит следующим образом:
| src/app/cart/cart.component.html | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Положив несколько товаров в корзину, пользователи могут просмотреть свои товары, ввести свое имя и адрес и отправить покупку.
Чтобы подтвердить отправку, откройте консоль и увидите объект, содержащий имя и адрес, которые вы отправили.
Что дальше¶
У вас есть готовое приложение интернет-магазина с каталогом товаров, корзиной и функцией оформления заказа.
Перейдите к разделу "Развертывание", чтобы перейти к локальной разработке, или разверните приложение на Firebase или собственном сервере.
15.09.2021
