Angular 表单:对 Angular 2,4,5,6 的入门

阅读时长 6 分钟读完

Angular 是一个非常流行的前端框架,它提供了强大的功能,如组件化、依赖注入、指令等。在 Angular 中,表单是一个非常重要的组件,它允许用户输入数据并将其提交到服务器。本文将介绍 Angular 表单的基础知识,包括如何创建表单、如何验证表单、如何处理表单数据等。

基础知识

在 Angular 中,表单由一组表单控件组成,包括输入框、下拉框、单选框、复选框等。表单控件可以通过 Angular 的指令来创建,例如 ngModel 指令用于绑定输入框的值到组件中的属性上。

在这个例子中,我们创建了一个输入框,并使用 ngModel 指令将输入框的值绑定到组件中的 name 属性上。这样,当用户在输入框中输入数据时,name 属性的值也会随之改变。

创建表单

要创建表单,我们需要使用 Angular 的 FormGroupFormControl 类。FormGroup 类代表整个表单,而 FormControl 类代表表单中的一个控件。

-- -------------------- ---- -------
------ - --------- - ---- ----------------
------ - ---------- ----------- - ---- -----------------

------------
  --------- -----------
  --------- -
    ----- ------------------ ------------------------
      ------ ----------- -----------------------
      ------- -----------------------------
    -------
  -
--
------ ----- ------------- -
  ---- - --- -----------
    ----- --- -------------
  ---

  ---------- -
    -----------------------------
  -
-

在这个例子中,我们创建了一个包含一个输入框和一个提交按钮的表单。我们使用 formGroup 属性将整个表单与 FormGroup 类绑定起来,并使用 formControlName 属性将输入框与 FormControl 类绑定起来。在组件类中,我们通过实例化 FormGroupFormControl 类来创建表单,并在 onSubmit() 方法中获取表单数据。

验证表单

在实际应用中,我们需要对用户输入的数据进行验证,以确保数据的正确性和安全性。在 Angular 中,我们可以使用 Validators 类来对表单进行验证。

-- -------------------- ---- -------
------ - --------- - ---- ----------------
------ - ---------- ------------ ---------- - ---- -----------------

------------
  --------- -----------
  --------- -
    ----- ------------------ ------------------------
      ------ ----------- -----------------------
      ---- ------------------------------- -- --------------------------
        ---- -- ---------
      ------
      ------- -----------------------------
    -------
  -
--
------ ----- ------------- -
  ---- - --- -----------
    ----- --- --------------- --------------------
  ---

  ---------- -
    -----------------------------
  -
-

在这个例子中,我们给输入框添加了一个 Validators.required 验证器,表示输入框的值不能为空。我们还使用 form.get() 方法获取输入框的 FormControl 实例,并使用 invalidtouched 属性来判断输入框的值是否合法。如果输入框的值不合法且用户已经触摸过输入框(即输入框失去焦点),则显示一个提示信息。

处理表单数据

在提交表单时,我们需要将表单数据发送到服务器。在 Angular 中,我们可以使用 HttpClient 类来发送 HTTP 请求,并使用 subscribe() 方法来处理服务器返回的数据。

-- -------------------- ---- -------
------ - --------- - ---- ----------------
------ - ---------- ------------ ---------- - ---- -----------------
------ - ---------- - ---- -----------------------

------------
  --------- -----------
  --------- -
    ----- ------------------ ------------------------
      ------ ----------- -----------------------
      ---- ------------------------------- -- --------------------------
        ---- -- ---------
      ------
      ------- -----------------------------
    -------
  -
--
------ ----- ------------- -
  ---- - --- -----------
    ----- --- --------------- --------------------
  ---

  ------------------- ----- ----------- --

  ---------- -
    --------------------------- ----------------------------------- -- -
      ----------------------
    ---
  -
-

在这个例子中,我们使用 HttpClient 类向服务器发送了一个 POST 请求,并将表单数据作为请求体发送到服务器。在 subscribe() 方法中,我们处理服务器返回的数据。

结论

Angular 表单是一个非常重要的组件,它允许我们收集用户输入的数据并将其提交到服务器。在本文中,我们介绍了 Angular 表单的基础知识,包括如何创建表单、如何验证表单、如何处理表单数据等。希望本文对你学习和使用 Angular 表单有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6753ac6f8bd460d3ada6b463

纠错
反馈