Chaque Signal Form commence par un model de données de formulaire : un signal qui définit la forme de vos données et stocke les données de votre formulaire.
Dans cette leçon, vous allez apprendre à :
- Définir une interface TypeScript pour les données de votre formulaire
- Créer un signal pour contenir les valeurs du formulaire
- Utiliser la fonction
form()pour créer un Signal Form
Posons les fondations de notre formulaire de connexion !
-
Définir l'interface LoginData
Créez une interface TypeScript qui définit la structure des données de votre formulaire de connexion. Le formulaire comportera :
- Un champ
email(string) - Un champ
password(string) - Un champ
rememberMe(boolean)
interface LoginData { email: string; password: string; rememberMe: boolean; }Ajoutez cette interface au-dessus du décorateur
@Component. - Un champ
-
Importer signal et form
Importez la fonction
signaldepuis@angular/coreet la fonctionformdepuis@angular/forms/signals: -
Créer le signal du model de formulaire
Dans la classe de votre composant, créez un signal
loginModelavec des valeurs initiales. Utilisez l'interfaceLoginDatacomme paramètre de type :loginModel = signal<LoginData>({ email: '', password: '', rememberMe: false, });Les valeurs initiales sont des chaînes vides pour les champs texte et
falsepour la case à cocher. -
Créer le formulaire
Créez maintenant le formulaire en passant le signal de votre model à la fonction
form():loginForm = form(this.loginModel);La fonction
form()crée un formulaire à partir de votre model et vous donne accès à l'état des champs et à la validation.
Excellent ! Vous avez mis en place votre model de formulaire. Le signal loginModel contient les données de votre formulaire, et loginForm donne accès à chaque champ avec la sûreté du typage.
Ensuite, vous allez apprendre à connecter votre formulaire au template !