美文网首页
Angular 响应式表单

Angular 响应式表单

作者: 品品下午茶 | 来源:发表于2022-05-28 20:34 被阅读0次

上一篇文章中,我们介绍了 Angular 模板式表单。本文将继续介绍如何使用 Angular 响应式表单。

打开在上一篇文章中创建的项目 my-app-login-form

  1. 导入响应式表单依赖包,并把 ReactiveFormsModule 添加到 AppModuleimports 属性中:
…
import { FormsModule, ReactiveFormsModule } from "@angular/forms”;

…

@NgModule({
…
  imports: [
    BrowserModule,
    FormsModule,
    ReactiveFormsModule
  ],
…
})
export class AppModule { }

我们既导入了 FormsModule,又导入了 ReactiveFormsModule. 在一个 Angular 应用中,可以同时使用这两种表单。

  1. 使用下面命令,创建一个响应式表单组件。
ng generate component reactive-login
  1. 打开 reactive-login.component.ts 文件,定义属性 loginForm,属性的值为 FormGroup 类型的对象。
loginForm = new FormGroup({});

我们在 FormGroup 类型的构造函数中,以键值对的方式,添加两个表单控件 FormControl 对象,分别对应用户名和密码。

loginForm = new FormGroup({
  username: new FormControl(‘’),
  password: new FormControl(‘’)
});
  1. 拷贝 login.component.html 文件的全部内容,粘贴到 reactive-login.component.html 文件中。
<form (ngSubmit)="login()”>
  <div>
  <input type="text" name="username" placeholder="Username" [(ngModel)]=“username”>
  </div>
  <div>
    <input type="password" name="password" placeholder="Password" [(ngModel)]=“password”>
  </div>
  <button type="submit">Login</button>
</form>
  1. 使用 formGroup 指令,绑定表单 form 元素和组件类中的 loginForm 属性(FormGroup 实例)。
<form [formGroup]="loginForm" (ngSubmit)="login()”>
  1. 使用 formControlName 指令,绑定 input 元素与组件类中的 FormControl 实例。此外,需要移除 ngModel 的双向数据绑定指令。
  <div>
  <input type="text" name="username" placeholder="Username" formControlName=“username”>
  </div>
  <div>
    <input type="password" name="password" placeholder="Password" formControlName=“password”>
  </div>
  1. 拷贝 LoginComponentlogin 方法,粘贴到 reactive-login.component.ts 文件中,并修改如下:
  login() {
    const controls = this.loginForm.controls;
    console.log('User: ' + controls.username.value);
    console.log('Password: ' + controls.password.value);
  }
  1. 运行项目,打开浏览器访问首页,键入用户名和密码后,点击登录按钮,控制台会输出刚刚输入的用户名和密码信息。
登录表单页面

参考资料

相关文章

  • Angular表单验证

    angular4里一个响应式编程的小例子 Angular2 响应式表单验证 Angular开发(十一)-关于响应式...

  • 细说 Angular 2+ 的表单(二):响应式表单

    细说 Angular 2+ 的表单(一):模板驱动型表单 响应式表单 响应式表单乍一看还是很像模板驱动型表单的,但...

  • Angular 表单1--响应式表单

    Angular 提供了两种不同的方法来通过表单处理用户输入:响应式表单和模板驱动表单。本节先讲响应式表单。最终实例...

  • 14.《Angular响应式表单》

    一、使用响应式表单 Angular 的响应式表单能让实现响应式编程风格更容易,这种编程风格更倾向于在非 UI 的数...

  • ng-alain表单使用方式

    Angular表单 Angular提供两种不同的架构范式表单:模板驱动和响应式表单,官网也简单实现了动态表单范例。...

  • Angular表单处理

    第七章 表单处理 学习内容: 一.简述模板式表单与响应式表单的不同 Angular表单API 模板式表单简述: ...

  • Angular 响应式表单

    文章转自我的语雀:https://www.yuque.com/liuyin-zzwa0/angular/react...

  • Angular 响应式表单

    在上一篇文章[https://www.jianshu.com/p/2d2d9a904f7f]中,我们介绍了 Ang...

  • angular 表单

    官网总结 链接地址:angular 表单github例子:github例子 1. 响应式表单和模板驱动表单 1.1...

  • Angular框架中FormArray中嵌套FormGroup

    Angular中FormGroup是用来管理一组表单控件的,响应式表单使用FormArray来动态的管理表单控件,...

网友评论

      本文标题:Angular 响应式表单

      本文链接:https://www.haomeiwen.com/subject/sqxvprtx.html