Использование форм для ввода данных пользователем¶
Это руководство основано на шаге Управление данными учебника Начните работу с базовым приложением 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